using getAdministrativeResourceResolver(null) in AEM 6 | Community
Skip to main content
Level 6
Oct 16, 2015 2:27 AM UTC
Solved

using getAdministrativeResourceResolver(null) in AEM 6

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.
smacdonald2008
smacdonald2008Accepted solution
Level 10
Jun 7, 2017 1:45 PM UTC

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

Level 2
Jun 8, 2017 2:56 PM UTC

I used the symbolic bundle as showing in the video. I used general user instead of system user because its AEM 6.0. The issue is with the ResourceResolverFactory for me. its showing null. So I tried to get it through the Bundle Context and its resolved. Thank you.

Translate
smacdonald2008
Level 10
Jun 7, 2017 8:44 PM UTC

In sling mapping, did you use symbolic bundle name? And you used a system user And granted the correct permissions?

Translate
Level 2
Jun 7, 2017 8:24 PM UTC

I also change the dependency version of "org.apache.sling.api". Still no clue.

Translate
Level 2
Jun 7, 2017 8:15 PM UTC

I tried complete video step by step But still facing the issue. Its showing ResourceResolverFactory is Null.

Translate
smacdonald2008
smacdonald2008Accepted solution
Level 10
Jun 7, 2017 1:45 PM UTC

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

Translate
Level 2
Jun 7, 2017 1:43 PM UTC

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

Translate
vjetty
Level 4
Mar 30, 2017 8:11 PM UTC

"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. 

Translate
Feike_Visser1
Employee
Oct 16, 2015 2:27 AM UTC

Are you sure you have to reference for the resolverFactory?

Translate
Level 6
Oct 16, 2015 2:27 AM UTC

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;

Translate
smacdonald2008
Level 10
Oct 16, 2015 2:27 AM UTC

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. 

Translate