using getAdministrativeResourceResolver(null) in AEM 6 | Community
Skip to main content
October 16, 2015
Solved

using getAdministrativeResourceResolver(null) in AEM 6

  • October 16, 2015
  • 14 replies
  • 7034 views

I am trying to use the following line of code from http://helpx.adobe.com/experience-manager/using/using-sling-apis.html

ResourceResolver resourceResolver =resolverFactory.getAdministrativeResourceResolver(null); //line 82

 

but I get java.lang.NullPointerException
    at shoprite.holdings.impl.FetchStores.jcrStoresUptodate(FetchStores.java:82)

    at shoprite.holdings.impl.FetchStores.<init>(FetchStores.java:66)

    at shoprite.holdings.impl.StoreLocatorImpl.getStores(StoreLocatorImpl.java:26)

    at shoprite.holdings.TestGetStores.main(TestGetStores.java:14)

 

I have tried to replace this with the following code from the blog "AEM6: ResourceResolver access in services" http://cqblog.inside-solutions.ch/category/cq5/.

Map<String, Object> param = new HashMap<String, Object>();
        param.put(ResourceResolverFactory.SUBSERVICE, "readService");
        ResourceResolver resolver = null;
        try {
            resolver = resolverFactory.getServiceResourceResolver(param);

 

However I get the following errors

The method getServiceResourceResolver(Map<String,Object>) is undefined for the type ResourceResolverFactory

and 

SUBSERVICE cannot be resolved or is not a field.

From this I am assuming that the version of ResourceResolver I am using is not concurrent. I am definitely on version 6 of AEM. I am also not sure why the code example from AEM 5.6 ResourceResolver resourceResolver =resolverFactory.getAdministrativeResourceResolver(null); gives me a NullPointerException

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by smacdonald2008

See this video - it steps you though this - most likily cause is you did not configure Sling Mapping properly - see this article and video:

Scott's Digital Community: Querying Adobe Experience Manager 6 data using the Sling getServiceResourceResolver method

14 replies

Feike_Visser1
Adobe Employee
Adobe Employee
October 16, 2015

Are you sure you have to reference for the resolverFactory?

October 16, 2015

If there is no     @Reference
    private ResourceResolverFactory resolverFactory;

 

Then there is no access to the class ResourceResolverFactory.

All the examples also use     @Reference
    private ResourceResolverFactory resolverFactory;

smacdonald2008
October 16, 2015

This works in AEM 6 - here is the output in the AEM 6 Touch UI:

[img]Sling.png[/img]

If you want to have a connect session with me and we can figure out what is happening on your end, please let me know. 

October 16, 2015

Thank you for the offer. What time tomorrow (GMT) would suit you and how would we conduct communication?

 

Regards

 

Clive

Lokesh_Shivalingaiah
October 16, 2015

Hi Clive,

It would be great if you can put down the solution which you did to resolve this issue.

October 16, 2015

I think I may have written a response incorrectly.

 

No solution yet. 

 

I am going to update to SP1 in AEM and see if that resolves it. 

 

If I find a solution I will post it on here.

 

 

Apologies

October 16, 2015

Hi Clive,

I am facing a similar issue. This line throws a NullPointerException:

ResourceResolver resourceResolver =resolverFactory.getAdministrativeResourceResolver(null);

Any solution yet?

Thanks

vjetty
March 30, 2017

"The method getServiceResourceResolver(Map<String,Object>) is undefined for the type ResourceResolverFactory

and 

SUBSERVICE cannot be resolved or is not a field."

This is due to your api version didn't contain SUBSERVICE field. Please upgrade your "org.apache.sling.api" version in the maven dependency and compile your code against it. 

Hope this helps. 

June 7, 2017

I'm facing the similar issue . Getting "java.lang.NullPointerException: null" for getServiceResourceResolver(param); Any Help?

smacdonald2008
smacdonald2008Accepted solution
June 7, 2017

See this video - it steps you though this - most likily cause is you did not configure Sling Mapping properly - see this article and video:

Scott's Digital Community: Querying Adobe Experience Manager 6 data using the Sling getServiceResourceResolver method