[
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)