remm 2003/01/30 08:45:27 Modified: coyote/src/java/org/apache/coyote/tomcat5 MapperListener.java Log: - Handle context unregistration (wrapper unregistration seems irrelevant, and the mapper doesn't need them to be individually removed). Revision Changes Path 1.3 +30 -2 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/MapperListener.java Index: MapperListener.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/MapperListener.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- MapperListener.java 30 Jan 2003 14:26:59 -0000 1.2 +++ MapperListener.java 30 Jan 2003 16:45:27 -0000 1.3 @@ -189,7 +189,16 @@ } } else if (notification.getType().equals (MBeanServerNotification.UNREGISTRATION_NOTIFICATION)) { - + String j2eeType = objectName.getKeyProperty("j2eeType"); + if (j2eeType != null) { + if (j2eeType.equals("WebModule")) { + try { + unregisterContext(objectName); + } catch (Throwable t) { + t.printStackTrace(); + } + } + } } } @@ -283,7 +292,26 @@ private void unregisterContext(ObjectName objectName) throws Exception { - // FIXME: Also takes care of host registration + String name = objectName.getKeyProperty("name"); + + String hostName = null; + String contextName = null; + if (name.startsWith("//")) { + name = name.substring(2); + } + int slash = name.indexOf("/"); + if (slash != -1) { + hostName = name.substring(0, slash); + contextName = name.substring(slash); + } else { + return; + } + // Special case for the root context + if (contextName.equals("/")) { + contextName = ""; + } + + mapper.removeContext(hostName, contextName); }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]