[
https://issues.apache.org/jira/browse/SLING-3441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13944906#comment-13944906
]
Carsten Ziegeler commented on SLING-3441:
-----------------------------------------
I've now implemented a wrapping of the script resource which will switch to the
shared resource resolver if the script is accessed/read after the per thread
resolver is closed.
This has the advantage that for normal scripting engines, no access to the
shared resolver is done, while it still works and basically provides the same
contract as before we started to implement this change
> Avoid shared resource resolver usage
> ------------------------------------
>
> Key: SLING-3441
> URL: https://issues.apache.org/jira/browse/SLING-3441
> Project: Sling
> Issue Type: Improvement
> Components: Servlets
> Affects Versions: Servlets Resolver 2.3.0
> Reporter: Carsten Ziegeler
> Assignee: Carsten Ziegeler
> Fix For: Servlets Resolver 2.3.2
>
>
> The servlet resolver uses a single shared rsource resolver to resolve
> scripts. Resource resolvers are not thread safe and therefore should not be
> used at the same time from different threads.
> Apart from that, this creates a bottleneck as the repository implementations
> (Jackrabbit, Oak) synchronize all access in this case - which then ultimately
> synchronises all requests. This is even more problematic as the servlet
> resolver is hit alot during a single request
--
This message was sent by Atlassian JIRA
(v6.2#6252)