Skip to main content
This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
praveenjainAccepted solution
Level 3
Dec 24, 2020 9:58 AM UTC

As mentioned by Ashutosh, you can get resource resolver from workflow session.

 

Another way of good practice is to get serivce resource resolver, and you can write this reusable mention in one utils class and call it in your workflow

 

Example:

public static ResourceResolver getServiceResolver() throws LoginException {
Map<String, Object> param = new HashMap<>();
param.put(ResourceResolverFactory.SUBSERVICE, "my-custom-service");
BundleContext bundleContext = FrameworkUtil.getBundle(MyUtils.class).getBundleContext();
ServiceReference resourceResolverFactoryRef = bundleContext
.getServiceReference(ResourceResolverFactory.class.getName());
ResourceResolverFactory resFactory = (ResourceResolverFactory) bundleContext
.getService(resourceResolverFactoryRef);
return resFactory.getServiceResourceResolver(param);
}

 

Refer more details in : https://aemhub.blogspot.com/2020/12/how-to-get-service-resource-resolver.html

 

Regards

Praveen

6 replies

Asutosh_Jena_
Community Advisor
Community Advisor
Dec 21, 2020 6:04 AM UTC

@anireddy You can adapt to the ResourceResolver interface from workflowSession to get the Resource Resolver object.

ResourceResolver resourceResolver = workflowSession.adaptTo(ResourceResolver.class);
Translate
anireddyAuthor
Level 2
Dec 21, 2020 6:37 AM UTC
i don't think session adaptTo resourceResolver.
Translate
Umesh_Thakur
Community Advisor
Community Advisor
Dec 24, 2020 4:00 AM UTC

@anireddy , can you please have a look the below community article on the same

https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/adapt-workflowsession-to-a-resourceresolver/qaq-p/266690

hope this will help.

umesh thakur

Translate
praveenjainAccepted solution
Level 3
Dec 24, 2020 9:58 AM UTC

As mentioned by Ashutosh, you can get resource resolver from workflow session.

 

Another way of good practice is to get serivce resource resolver, and you can write this reusable mention in one utils class and call it in your workflow

 

Example:

public static ResourceResolver getServiceResolver() throws LoginException {
Map<String, Object> param = new HashMap<>();
param.put(ResourceResolverFactory.SUBSERVICE, "my-custom-service");
BundleContext bundleContext = FrameworkUtil.getBundle(MyUtils.class).getBundleContext();
ServiceReference resourceResolverFactoryRef = bundleContext
.getServiceReference(ResourceResolverFactory.class.getName());
ResourceResolverFactory resFactory = (ResourceResolverFactory) bundleContext
.getService(resourceResolverFactoryRef);
return resFactory.getServiceResourceResolver(param);
}

 

Refer more details in : https://aemhub.blogspot.com/2020/12/how-to-get-service-resource-resolver.html

 

Regards

Praveen

Translate