DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=37264>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ· INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=37264 Summary: ServletContextListener cannot load classes Product: Tomcat 5 Version: Nightly Build Platform: All OS/Version: other Status: NEW Severity: normal Priority: P2 Component: Catalina AssignedTo: tomcat-dev@jakarta.apache.org ReportedBy: [EMAIL PROTECTED] If a ServletContextListener implmentation references a class that is not yet loaded, the loading would with some ZipException. This is caused by the fact that when a context is stopped, the classloader is unbound before the ServletContextListeners are called. The sequence of calls is something like this: StandardContext.stop() lifecycle.fireLifecycleEvent(STOP_EVENT, null); NamingContextListener.lifecycleEvent(); ContextBindings.unbindClassLoader() ... listenerStop(); // trouble My solutions was to move listenerStop() before the call to fireLifecycleEvents() I also filed bug 37262, about the datasources not being released when the context is stopped. These two are somehow related, I think the right sequence when stopping the context is: 1. call the listeners 2. release the datasources 3. unbind the classloader -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]