Quoting Yoav Shapira <[EMAIL PROTECTED]>: > Hi, > > >> I don;t know the internals of Tomcat now, but once upon a time, the whole > >> point of Catalina was exactly the above, and not a "Child First > >>Behavior". If > >> CFB is in place in Tomcat, it is because of this bad entropy, and Tomcat > >>is > >> then indirectly adding to it. > > >No, it is because the servlet spec defines it (it's a recommendation, not a > >requirement) and Tomcat implements the servlet spec. No mystery or > >non-standard kludge here. Maybe Yoav can comment on this for a more > >definitive > >answer? > > The Servlet Specification explicitly requires classes from WEB-INF/lib and > WEB-INF/classes be loaded before container classes (and after JDK bootstrap > classes, which includes endorsed extensions). >
[snip] > Two final comments: every feature and behavior of the classloading tree is > extensively scrutinized both by Tomcat developers and by members of the > Servlet (JSP) Spec expert group(s) before it's implemented in Tomcat. And > classloader behavior is part of the TCKs (which Tomcat passes 100%). So > whether anyone feels like it's a bad system or not, it's the standard system > for now and changing it requires going to the Spec/JCP process... > Does this mean that servers like Weblogic JBoss are not properly implementing the servlet spec? For instance, Weblogic comes with Log4j in the classpath because it uses Log4j for logging. Whether or not I add log4j.jar to WEB-INF/lib, the one from the server is used. I believe there is an option in weblogic.xml to trigger child-first classloading behavior, but this is certainly not the default. Either Weblogic is lying about it's claimed support for the servlet spec, or the servlet spec doesn't require this behavior. The latter would seem to contracict your statement. Can you clarify? Jake > Yoav > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
