The reason was class loader issues

Am 20. Januar 2023 13:37:11 MEZ schrieb Mark Thomas <ma...@apache.org>:
>From memory, there is a reason the Tomcat handler has to be first. I forget 
>exactly why that is. I'd need to dig into this some more (and I have my hands 
>full working on the RFC 9128 implementation at the moment).
>
>In your case, it looks like a custom LifecycleListener would work. In terms of 
>changes to Tomcat, I'd lean more towards a Tomcat specific system property you 
>could use instead of java.protocol.handler.pkgs
>for Tomcat 8.5.x - 10.1x with the whole lot being replaced by a ServiceLoader 
>in 11.0.x
>
>Mark
>
>
>On 20/01/2023 12:28, Dave Breeze wrote:
>> 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
>> 
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>For additional commands, e-mail: users-h...@tomcat.apache.org
>

-- 
Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

Reply via email to