[ 
https://issues.apache.org/jira/browse/SLING-5668?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15245531#comment-15245531
 ] 

Bertrand Delacretaz commented on SLING-5668:
--------------------------------------------

Having a general way to cleanup things at the end of the current request would 
be useful. 

Maybe just providing a way to register {{Closeable}} objects for closing in the 
{{requestDestroyed}} method would be sufficient.

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

Reply via email to