You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ju...@apache.org on 2016/11/19 22:33:02 UTC
svn commit: r1770521 -
/sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java
Author: justin
Date: Sat Nov 19 22:33:02 2016
New Revision: 1770521
URL: http://svn.apache.org/viewvc?rev=1770521&view=rev
Log:
SLING-6310 - clear disposal queue on component deactivation
Modified:
sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java
Modified: sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java?rev=1770521&r1=1770520&r2=1770521&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java (original)
+++ sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java Sat Nov 19 22:33:02 2016
@@ -136,6 +136,10 @@ public class ModelAdapterFactory impleme
@Override
public void run() {
+ clearDisposalCallbackRegistryQueue();
+ }
+
+ private void clearDisposalCallbackRegistryQueue() {
java.lang.ref.Reference<?> ref = queue.poll();
while (ref != null) {
log.debug("calling disposal for {}.", ref.toString());
@@ -944,6 +948,7 @@ public class ModelAdapterFactory impleme
@Deactivate
protected void deactivate() {
+ this.clearDisposalCallbackRegistryQueue();
this.listener.unregisterAll();
this.adapterImplementations.removeAll();
if (jobRegistration != null) {