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) {