Adding custom execution path in Servlet Resolver | Community
Skip to main content
Level 3
December 6, 2018
Solved

Adding custom execution path in Servlet Resolver

  • December 6, 2018
  • 3 replies
  • 4598 views

Hi,

I have created a Sling servlet and I need to register it using some custom path, e.g, /aem/testServlet

If I add this execution path entry in configuration "Apache Sling Servlet/Script Resolver and Error Handler", it works fine. But I need to create a custom configuration of this path for my project so that it can be deployed with the code.

Can anyone please help with this.

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 papenaarun

Create an XML file with name org.apache.sling.servlets.resolver.SlingServletResolver in config folder.

Add servletresolver.paths property with your custom paths as specified below.

 

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
jcr:primaryType="sling:OsgiConfig"
servletresolver.paths="[/custom/path]"
/>

 

Note: If you have already configured this manually in config manager console, and later trying to configure through code will not work. As, AEM tries to read from system rather from config folder.

In this case you have to delete the paths created in the CRX and then the paths will get configured through config folder.

 

 

3 replies

chandu_t
Level 3
December 6, 2018

Hi,

You can create a OSGI Config and include in ur codebase.

/apps/my-project/config/org.apache.sling.servlets.resolver.SlingServletResolver.xml

with ur custom paths under servletresolver.paths

Level 3
December 12, 2018

I have already created this custom config and added the execution paths. But still it's picking up the OOTB SlingServletResolver, and my execution path is not getting registered.

aanchal-sikka
Community Advisor
Community Advisor
December 28, 2023

Please remove the configuration that might have got saved under /apps/system

Deploy your config, validate that its reflecting in OSGi console (Open the config for editing, the custom values should be visible).

Aanchal Sikka
papenaarunAccepted solution
Level 2
May 17, 2021

Create an XML file with name org.apache.sling.servlets.resolver.SlingServletResolver in config folder.

Add servletresolver.paths property with your custom paths as specified below.

 

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
jcr:primaryType="sling:OsgiConfig"
servletresolver.paths="[/custom/path]"
/>

 

Note: If you have already configured this manually in config manager console, and later trying to configure through code will not work. As, AEM tries to read from system rather from config folder.

In this case you have to delete the paths created in the CRX and then the paths will get configured through config folder.