Thanks again Mark I have no access to the source for the webapp. what I was think was that if in catalina.sh the line:
JAVA_OPTS="$JAVA_OPTS -Djava.protocol.handler.pkgs=org.apache.catalina.webresources" was simply re-ordered to JAVA_OPTS="-Djava.protocol.handler.pkgs=org.apache.catalina.webresources $JAVA_OPTS " then users could use JAVA_OPTS to set the value. thanks Dave Breeze Linkedin:https://uk.linkedin.com/in/dabreeze On Fri, 20 Jan 2023 at 12:17, Mark Thomas <ma...@apache.org> wrote: > > On 20/01/2023 11:18, Dave Breeze wrote: > > Many thanks Mark for the answers - appreciated. > > > > Just to be clear I am running 9.0.71 simply by invoking startup.sh > > (currently testing). I am not running embedded. I am not too sure > > therefore about the "Call > > org.apache.catalina.webresources.TomcatURLStreamHandlerFactory#addUserFactory(URLStreamHandlerFactory)" > > Could you please explain further > > You'd need to call it from your application code (probably a > ServletContextListener). > > Alternatively, you could write a Tomcat level LifecycleListener to add > it if the JAR with the handler is in $CATALINA_BASE/lib > > Hmm. It looks like we can remove this in Tomcat 10 onwards and use the > ServiceLoader mechanism. (OK, may need to deprecate this in 10 and > remove it in Tomcat 11). > > Mark > > > > > > thanks again > > Dave Breeze > > Linkedin:https://uk.linkedin.com/in/dabreeze > > > > Dave Breeze > > Linkedin:https://uk.linkedin.com/in/dabreeze > > > > > > On Fri, 20 Jan 2023 at 11:01, Mark Thomas <ma...@apache.org> wrote: > >> > >> On 20/01/2023 09:53, Dave Breeze wrote: > >>> Tomcat 9.0.71 > >>> > >>> I need to use a custom protocol handler. I set JAVA_OPTS to: > >>> > >>> -Djava.protocol.handler.pkgs=com.ibm.crypto.provider > >>> > >>> My JAVA_OPTS setting,however, is ignored. This is due to catalina.sh > >>> containing > >>> > >>> JAVA_OPTS="$JAVA_OPTS > >>> -Djava.protocol.handler.pkgs=org.apache.catalina.webresources" > >>> > >>> The result of catalina.sh is that the jvm has > >>> 2 -Djava.protocol.handler.pkgs settings - first the custom protocol > >>> then org.apache.catalina.webresources. The net result being that Tomcat is > >>> started with > >>> -Djava.protocol.handler.pkgs=org.apache.catalina.webresources. > >>> > >>> > >>> 1. What is the best way of setting java.protocol.handler.pkgs other > >>> than > >>> modifying catalina.sh > >> > >> Call > >> org.apache.catalina.webresources.TomcatURLStreamHandlerFactory#addUserFactory(URLStreamHandlerFactory) > >> > >> to add your custom handler. > >> > >>> 2. do i need to set java.protocol.handler.pkgs to just my custom > >>> handler > >>> or should it be set to a concatenation of > >>> custom + org.apache.catalina.webresources > >> > >> If you do it that way, it needs to be both. > >> > >>> 3. if a concatenation of handlers is required what is the syntax > >> > >> | delimited > >> > >> Mark > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > >> For additional commands, e-mail: users-h...@tomcat.apache.org > >> > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > > For additional commands, e-mail: users-h...@tomcat.apache.org > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org