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

Justin Edelson commented on SLING-6785:
---------------------------------------

[~jelger]

bq. Just to make sure, you also agree that we could cache a model across 
components with different resources?

Maybe :) it would be up to the creator of the Model/AdapterFactory.

The model would be cached against the adaptable. So if the adaptable is the 
request, then it is cacheable. If the adaptable is the resource, then it 
wouldn't be cached for different resources since the adaptable is the same.

And there are plenty of cases where the adaptable is the request and it 
*shouldn't* be cached, i.e. if the model uses request attributes. But again, 
the model creator would know best how to handle this.

> Add support for scoped lifecycle of sling models
> ------------------------------------------------
>
>                 Key: SLING-6785
>                 URL: https://issues.apache.org/jira/browse/SLING-6785
>             Project: Sling
>          Issue Type: New Feature
>          Components: Extensions
>            Reporter: Christophe Jelger
>            Priority: Minor
>         Attachments: SLING-6785.diff
>
>
> Similar to the scopes of JEE beans 
> (http://docs.oracle.com/javaee/6/tutorial/doc/gjbbk.html), it would be nice 
> to have the possibility to set a scope for sling models.
> For example, a sling model instance could be reused for all the components 
> within the same HTTP request, thus avoiding that multiple instances of the 
> "same" model are created.
> This could be an attribute of the {{@model}} annotation, for example 
> something like:
> {{@model(scope="request")}}
> The {{request}} scope sounds straightforward for a sling model adapted from a 
> request.
> For models adapted from a resource, there are scenarios where the resource 
> itself is not relevant once the model has been instantiated, so it would 
> still be useful to be able to obtain the same model instance for different 
> components and resources within the same HTTP request.
> We could possibly have the same scopes than the JEE beans scope: {{request}}, 
> {{session}}, and {{application}}.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to