You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by "Katja Zip (Jira)" <ji...@apache.org> on 2023/10/31 13:39:00 UTC
[jira] [Comment Edited] (TOMEE-4242) Changed Default ClassLoader Behaviour
[ https://issues.apache.org/jira/browse/TOMEE-4242?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17781360#comment-17781360 ]
Katja Zip edited comment on TOMEE-4242 at 10/31/23 1:38 PM:
------------------------------------------------------------
Hi [~jgallimore],
I experienced the same behaviour that you describe.
was (Author: JIRAUSER302137):
Hi [~jgallimore],
{*}{*}I experienced the same behaviour that you describe.
> Changed Default ClassLoader Behaviour
> -------------------------------------
>
> Key: TOMEE-4242
> URL: https://issues.apache.org/jira/browse/TOMEE-4242
> Project: TomEE
> Issue Type: Bug
> Affects Versions: 9.1.0
> Reporter: Katja Zip
> Priority: Major
>
> We are migrating a Web-Application from TomEE 8.0.14 to TomEE 9.1.0. On the new TomEE version we encounter problems in class loading. One of the symptoms is, that SLF4J no longer used the application specific binding to logback, but the TomEE configured JUL binding instead. This is caused by resolving the SLF4J \{{LoggerFactory}} from the parent classloader. If we include a context.xml in our application's META-INF folder with the following content, the problem disappears:
> {code:xml}
> <Context>
> <Loader delegate="false" />
> </Context>
> {code}
> If the delegate property is set to true, we get the same behaviour as we experienced without the context.xml.
> This is an unexpected change in the TomEE behaviour between the two versions. It indicates, that \{{true}} is likely the default behaviour. This is opposite to the Tomcat documentation, which indicates \{{false}} to be the default: https://tomcat.apache.org/tomcat-10.0-doc/class-loader-howto.html. Furthermore, the Java Servlet specification also states, that the application classes should bee loaded before the system classes.
> Why was the default behaviour for the class loading changed? Are there other implications, that we need to be aware of, that our mitigation causes?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)