[
https://issues.apache.org/jira/browse/SLING-6785?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15978980#comment-15978980
]
Stefan Seifert commented on SLING-6785:
---------------------------------------
{quote}
if we add a scoping/caching support via @Model annotation we have to make sure
that does not mix up with the SlingAdaptable caching implementation.
> Do you have a specific concern from an implementation standpoint? Or is this
> just about education/documentation?
{quote}
if the user does not set 'scope="adaptable"' and the developer expects that he
gets a new model on each adaptTo call it would be very puzzling if it is cached
anyway because the adaptable extends SlingAdaptable. and for the developer it
is often not transparent if the adaptable extends SlingAdaptable or not.
> 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)