You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by js...@apache.org on 2016/12/08 14:11:16 UTC
svn commit: r1773236 -
/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java
Author: jsedding
Date: Thu Dec 8 14:11:15 2016
New Revision: 1773236
URL: http://svn.apache.org/viewvc?rev=1773236&view=rev
Log:
SLING-6375 - Log a warning in case a resource resolver is closed by the Sling RR Finalizer thread
- reorder deactivate sequence in order to allow MapEntries to close its RR before it is forcefully closed
- add message to opening stacktrace exception
Modified:
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java
Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java?rev=1773236&r1=1773235&r2=1773236&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java Thu Dec 8 14:11:15 2016
@@ -302,13 +302,6 @@ public class CommonResourceResolverFacto
}
this.refQueueThread.interrupt();
- // copy and clear before closing
- final Collection<ResolverReference> references = new ArrayList<ResolverReference>(refs.values());
- refs.clear();
- for(final ResolverReference ref : references) {
- ref.close();
- }
-
if (plugin != null) {
plugin.dispose();
plugin = null;
@@ -319,6 +312,13 @@ public class CommonResourceResolverFacto
mapEntries = MapEntries.EMPTY;
}
resolverStackHolder = null;
+
+ // copy and clear map before closing the remaining references
+ final Collection<ResolverReference> references = new ArrayList<ResolverReference>(refs.values());
+ refs.clear();
+ for(final ResolverReference ref : references) {
+ ref.close();
+ }
}
public ResourceDecoratorTracker getResourceDecoratorTracker() {
@@ -463,7 +463,7 @@ public class CommonResourceResolverFacto
super(referent, q);
this.control = ctrl;
this.factory = factory;
- this.openingException = LOG.isInfoEnabled() ? new Exception() : null;
+ this.openingException = LOG.isInfoEnabled() ? new Exception("Opening Stacktrace") : null;
}
public void close() {