[
https://issues.apache.org/jira/browse/JCR-3934?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chetan Mehrotra resolved JCR-3934.
----------------------------------
Resolution: Fixed
Assignee: Chetan Mehrotra
Modified the init logic to get inputstream from servlet context and use that to
initialize ProtectedRemoveManager
rev 1717620
> Error occured while loading protected handler config in JcrRemotingServlet
> --------------------------------------------------------------------------
>
> Key: JCR-3934
> URL: https://issues.apache.org/jira/browse/JCR-3934
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Components: jackrabbit-jcr-server
> Affects Versions: 2.9.1
> Reporter: Chetan Mehrotra
> Assignee: Chetan Mehrotra
> Priority: Minor
> Fix For: 2.11.3
>
> Attachments: JCR-3934.patch
>
>
> Currently in webapp the JcrRemotingServlet has config like
> {code:xml}
> <init-param>
> <param-name>protectedhandlers-config</param-name>
> <param-value>/WEB-INF/protectedHandlers.properties</param-value>
> <description>JcrRemotingServlet: Handlers for removing protected
> items.</description>
> </init-param>
> {code}
> This causes exception in loading like
> {noformat}
> 01.12.2015 11:10:36.194 *ERROR* [main]
> org.apache.jackrabbit.server.remoting.davex.ProtectedRemoveManager
> /WEB-INF/protectedHandlers.properties
> java.lang.ClassNotFoundException: /WEB-INF/protectedHandlers.properties
> at java.lang.Class.forName0(Native Method) ~[na:1.7.0_55]
> at java.lang.Class.forName(Class.java:190) ~[na:1.7.0_55]
> at
> org.apache.jackrabbit.server.remoting.davex.ProtectedRemoveManager.createHandler(ProtectedRemoveManager.java:84)
> [jackrabbit-jcr-server-2.11.3-SNAPSHOT.jar:na]
> at
> org.apache.jackrabbit.server.remoting.davex.ProtectedRemoveManager.<init>(ProtectedRemoveManager.java:56)
> [jackrabbit-jcr-server-2.11.3-SNAPSHOT.jar:na]
> at
> org.apache.jackrabbit.server.remoting.davex.JcrRemotingServlet.init(JcrRemotingServlet.java:276)
> [jackrabbit-jcr-server-2.11.3-SNAPSHOT.jar:na]
> at javax.servlet.GenericServlet.init(GenericServlet.java:244)
> [javax.servlet-api-3.1.0.jar:3.1.0]
> at
> org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:612)
> [jetty-servlet-9.2.8.v20150217.jar:9.2.8.v20150217]
> at
> org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:395)
> [jetty-servlet-9.2.8.v20150217.jar:9.2.8.v20150217]
> at
> org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:871)
> [jetty-servlet-9.2.8.v20150217.jar:9.2.8.v20150217]
> at
> org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:298)
> [jetty-servlet-9.2.8.v20150217.jar:9.2.8.v20150217]
> at
> org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349)
> [jetty-webapp-9.2.8.v20150217.jar:9.2.8.v20150217]
> at
> org.eclipse.jetty.maven.plugin.JettyWebAppContext.startWebapp(JettyWebAppContext.java:296)
> [jetty-maven-plugin-9.2.8.v20150217.jar:9.2.8.v20150217]
> {noformat}
> This happens because
> [ProtectedRemoveManager|https://github.com/apache/jackrabbit/blob/2.11.2/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/server/remoting/davex/ProtectedRemoveManager.java#L39]
> tries to load the config file directly by treating it as a file on
> filesystem. Instead it should be passed a input stream.
> For now as the config has single handle one can just specify the class
> directly
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)