Justin Edelson created SLING-7203:
-------------------------------------

             Summary: Sling Model Request-Scoped Caching Not Effective Across 
Script Include Boundaries
                 Key: SLING-7203
                 URL: https://issues.apache.org/jira/browse/SLING-7203
             Project: Sling
          Issue Type: Bug
            Reporter: Justin Edelson


The request-scoped caching added in SLING-6785 does not work correctly across 
included boundaries, i.e. if you have a script like

{code}
<sly data-sly-resource="${'first' @ resourceType='my/resource/type/first'}"/>
<sly data-sly-resource="${'second' @ resourceType='my/resource/type/second'}"/>
{code}

and both {{first.html}} the request is adapted to some cacheable model object, 
the adaptation will happen twice, despite the cache attribute on the {{@Model}} 
annotation.

The reason for this is that each script actually has a unique request object, 
instantiated by {{ScriptHelper}} (see 
https://github.com/apache/sling/blob/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/ScriptHelper.java#L100).

I don't know what a good way to fix this is. One option could be to unwrap the 
{{SlingHttpServletRequestWrapper}} in {{SlingModelsUseProvider}}.

[~kwin] any ideas?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to