Patches item #420445, was updated on 2001-05-01 06:19 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=376687&aid=420445&group_id=22866 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: Fix chaining of tomcat classloaders Initial Comment: I think there is a problem with ContextClassLoaderInterceptor; when the embedded tomcat service starts and existing contexts are initialized, the tomcat context class loaders get linked together in a complex (and broken! way). In ContextClassLoaderInterceptor.contextInit in the current version (1.5 according to CVS), the contextInit method is: public void contextInit( Context context) throws TomcatException { ((AdaptiveClassLoader)context.getServletLoader().getParentLoader()).setParent(Thread.currentThread().getContextClassLoader()); Thread.currentThread().setContextClassLoader(((ClassLoader)context.getServletLoader().getClassLoader())); } This sets the parent loader of the servlet context just fine, but leaves the context class loader changed. Existing tomcat contexts are initialized one by one and this leaves the tomcat context class loaders all chained together, which leads to some very strange effects. The ideal solution might be to modify the Tomcat ContextManager class to reset the thread context class loader after each context is initialised. I wanted to avoid changing tomcat so the only solution I could find was to modify ContextClassLoaderInterceptor. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=376687&aid=420445&group_id=22866 _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] http://lists.sourceforge.net/lists/listinfo/jboss-development
