in src/main/java/org/apache/sling/superimposing/impl/SuperimposingManagerImpl.java [326:356]
protected synchronized void deactivate(final ComponentContext ctx) throws RepositoryException {
try {
// make sure initialization has finished
if (null != initialization && !initialization.isDone()) {
initialization.cancel(/* myInterruptIfRunning */ true);
}
// de-register JCR observation
if (resolver!=null) {
final Session session = resolver.adaptTo(Session.class);
if (session!=null && this.observationEventListeners!=null) {
for (EventListener eventListener : this.observationEventListeners) {
session.getWorkspace().getObservationManager().removeEventListener(eventListener);
}
}
}
// de-register all superimpsing resource providers
for (final SuperimposingResourceProviderImpl srp : superimposingProviders.values()) {
srp.unregisterService();
}
} finally {
if (null != resolver) {
resolver.close();
resolver = null;
}
initialization = null;
superimposingProviders.clear();
}
}