sling-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christophe Jelger (JIRA)" <>
Subject [jira] [Commented] (SLING-6785) Add support for scoped lifecycle of sling models
Date Fri, 21 Apr 2017 14:26:04 GMT


Christophe Jelger commented on SLING-6785:

Just to make sure this is clear, I do not mean that {{scope="request"}} means that the adaptable
is a request, here "request" is in the sense of an HTTP request "lifecycle", but the adaptable
could also be a resource. So I mean {{scope}} in the sense of a lifecycle or duration, like
in JEE.

Regarding your proposal, do you foresee that the scope could be something else than an adaptable?

PS: regarding {{session}} and {{application}} I knew that this would be controversial but
decided to leave this anyway in the issue. ;-)

> Add support for scoped lifecycle of sling models
> ------------------------------------------------
>                 Key: SLING-6785
>                 URL:
>             Project: Sling
>          Issue Type: New Feature
>          Components: Extensions
>            Reporter: Christophe Jelger
>            Priority: Minor
> Similar to the scopes of JEE beans (,
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
> We could possibly have the same scopes than the JEE beans scope: {{request}}, {{session}},
and {{application}}.

This message was sent by Atlassian JIRA

View raw message