Konrad Windszus created SLING-5668:
--------------------------------------
Summary: Models: Leverage ServletRequestListener.requestDestroyed
for calling DisposalCallback in case the model was created from a request
Key: SLING-5668
URL: https://issues.apache.org/jira/browse/SLING-5668
Project: Sling
Issue Type: Improvement
Components: Extensions
Affects Versions: Sling Models Impl 1.2.6
Reporter: Konrad Windszus
Due to SLING-5664 I had to remove usage of {{SlingScriptHelper}} in the
{{OSGiServiceInjector}}. Therefore now always the
{{DisposableCallbackRegistry}} is used to release service references. That
mechanism relies on a dedicated thread
(https://github.com/apache/sling/blob/b864f105617c0ac7c2d525bfdb66eda2200c6460/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java#L133)
and phantom references
(https://github.com/apache/sling/blob/b864f105617c0ac7c2d525bfdb66eda2200c6460/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java#L504).
In case of acting on top of a request one could leverage
{{ServletRequestListener.requestDestroyed(...)}} instead, which is more
reliable and called earlier than relying on phantom references.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)