jfarcand 2004/03/25 14:31:46 Modified: catalina/src/share/org/apache/catalina/core StandardContext.java catalina/src/share/org/apache/catalina/startup ContextConfig.java Log: Fix bugtraq : javax.naming.NamingException after a Stop/Start cycle of a web app Using jmx, if you stop/start the Context, listener and applicationListeners are removed when calling stop and never re-added. Revision Changes Path 1.122 +4 -1 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java Index: StandardContext.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContext.java,v retrieving revision 1.121 retrieving revision 1.122 diff -u -r1.121 -r1.122 --- StandardContext.java 24 Mar 2004 20:00:22 -0000 1.121 +++ StandardContext.java 25 Mar 2004 22:31:46 -0000 1.122 @@ -4542,6 +4542,9 @@ broadcaster.sendNotification(notification); } super.destroy(); + + instanceListeners = new String[0]; + applicationListeners = new String[0]; } private void resetContext() throws Exception, MBeanRegistrationException { 1.43 +1 -13 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/ContextConfig.java Index: ContextConfig.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- ContextConfig.java 24 Mar 2004 20:00:22 -0000 1.42 +++ ContextConfig.java 25 Mar 2004 22:31:46 -0000 1.43 @@ -659,12 +659,6 @@ context.removeChild(children[i]); } - // Removing application listeners - String[] applicationListeners = context.findApplicationListeners(); - for (i = 0; i < applicationListeners.length; i++) { - context.removeApplicationListener(applicationListeners[i]); - } - // Removing application parameters /* ApplicationParameter[] applicationParameters = @@ -713,12 +707,6 @@ FilterMap[] filterMaps = context.findFilterMaps(); for (i = 0; i < filterMaps.length; i++) { context.removeFilterMap(filterMaps[i]); - } - - // Removing instance listeners - String[] instanceListeners = context.findInstanceListeners(); - for (i = 0; i < instanceListeners.length; i++) { - context.removeInstanceListener(instanceListeners[i]); } // Removing local ejbs
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]