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

Bertrand Delacretaz commented on SLING-10118:
---------------------------------------------

I agree about not caching any elements of the Resource, however in the meantime 
I thought that the internal request that builds the schema needs the identity 
of the current request.

So I think the {{getSchema}} method signature should be

{code}
String getSchema(ResourceResolver currentResolver, String resourceType, String 
slingResourceSuperType, String [] selectors)
{code}

So that we get everything required to execute a Sling internal request as per 
https://sling.apache.org/documentation/bundles/servlet-helpers.html

> Fully cache the GraphQLSchema objects
> -------------------------------------
>
>                 Key: SLING-10118
>                 URL: https://issues.apache.org/jira/browse/SLING-10118
>             Project: Sling
>          Issue Type: Bug
>          Components: GraphQL
>    Affects Versions: GraphQL Core 0.0.10
>            Reporter: Thierry Ygé
>            Priority: Major
>
> Currently in SLING-10085 the GraphQLSchema couldn't be cached due to wired 
> resource.
> Thus it still need half the time to spend on building the schema, while 
> generally the resource is only used to be passed later to the fetcher. As 
> that resource then change, I suggested to wrap it via a proxy Resource 
> implementation that would be passed instead of the real resource.
> That proxy will then use a map  to lookup for the current resource used at 
> execute/validate time. The key for the map is to use the current thread.
> I will submit a PR with the solution I suggest to use.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to