Merge pull request #1 from apache/bugfix/refresh-resourcetyperesolver

SLING-7313 refresh the resource type resolver as well
diff --git a/src/main/java/org/apache/sling/resourceresolver/impl/providers/ResourceProviderTracker.java b/src/main/java/org/apache/sling/resourceresolver/impl/providers/ResourceProviderTracker.java
index f524cbf..85cc1c3 100644
--- a/src/main/java/org/apache/sling/resourceresolver/impl/providers/ResourceProviderTracker.java
+++ b/src/main/java/org/apache/sling/resourceresolver/impl/providers/ResourceProviderTracker.java
@@ -349,7 +349,9 @@
      * @param handler The provider handler
      */
     private boolean activate(final ResourceProviderHandler handler) {
-        updateProviderContext(handler);
+        synchronized (this.handlers) {
+            updateProviderContext(handler);
+        }
         if ( !handler.activate() ) {
             logger.warn("Activating resource provider {} failed", handler.getInfo());
             this.invalidProviders.put(handler.getInfo(), FailureReason.service_not_gettable);
@@ -481,11 +483,13 @@
     private void updateProviderContext(final ResourceProviderHandler handler) {
         final Set<String> excludedPaths = new HashSet<>();
         final Path handlerPath = new Path(handler.getPath());
+
         for(final String otherPath : handlers.keySet()) {
             if ( !handler.getPath().equals(otherPath) && handlerPath.matches(otherPath) ) {
                 excludedPaths.add(otherPath);
             }
         }
+
         final PathSet excludedPathSet = PathSet.fromStringCollection(excludedPaths);
         handler.getProviderContext().update(
                 reporterGenerator.create(handlerPath, excludedPathSet),