amyroh 02/01/25 15:57:55 Modified: catalina/src/share/org/apache/catalina/core StandardServer.java catalina/src/share/org/apache/catalina/mbeans ServerLifecycleListener.java Log: Add property change event for StandardServer.addService() and StandardServer.removeService() so that ServerLifecycleListener can listen in. Revision Changes Path 1.19 +18 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardServer.java Index: StandardServer.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardServer.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- StandardServer.java 22 Jan 2002 16:12:26 -0000 1.18 +++ StandardServer.java 25 Jan 2002 23:57:55 -0000 1.19 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardServer.java,v 1.18 2002/01/22 16:12:26 remm Exp $ - * $Revision: 1.18 $ - * $Date: 2002/01/22 16:12:26 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardServer.java,v 1.19 2002/01/25 23:57:55 amyroh Exp $ + * $Revision: 1.19 $ + * $Date: 2002/01/25 23:57:55 $ * * ==================================================================== * @@ -65,6 +65,7 @@ package org.apache.catalina.core; +import java.beans.PropertyChangeSupport; import java.io.InputStream; import java.io.IOException; import java.net.InetAddress; @@ -91,7 +92,7 @@ * (but not required) when deploying and starting Catalina. * * @author Craig R. McClanahan - * @version $Revision: 1.18 $ $Date: 2002/01/22 16:12:26 $ + * @version $Revision: 1.19 $ $Date: 2002/01/25 23:57:55 $ */ public final class StandardServer @@ -204,6 +205,12 @@ private boolean initialized = false; + /** + * The property change support for this component. + */ + protected PropertyChangeSupport support = new PropertyChangeSupport(this); + + // ------------------------------------------------------------- Properties @@ -341,6 +348,7 @@ public void addService(Service service) { service.setServer(this); + Service oldServices[] = this.services; synchronized (services) { Service results[] = new Service[services.length + 1]; @@ -363,6 +371,9 @@ ; } } + + // Report this property change to interested listeners + support.firePropertyChange("service", null, service); } } @@ -496,6 +507,9 @@ results[k++] = services[i]; } services = results; + + // Report this property change to interested listeners + support.firePropertyChange("service", service, null); } } 1.13 +29 -5 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java Index: ServerLifecycleListener.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- ServerLifecycleListener.java 24 Jan 2002 19:26:11 -0000 1.12 +++ ServerLifecycleListener.java 25 Jan 2002 23:57:55 -0000 1.13 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java,v 1.12 2002/01/24 19:26:11 craigmcc Exp $ - * $Revision: 1.12 $ - * $Date: 2002/01/24 19:26:11 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java,v 1.13 2002/01/25 23:57:55 amyroh Exp $ + * $Revision: 1.13 $ + * $Date: 2002/01/25 23:57:55 $ * * ==================================================================== * @@ -104,7 +104,7 @@ * * @author Craig R. McClanahan * @author Amy Roh - * @version $Revision: 1.12 $ $Date: 2002/01/24 19:26:11 $ + * @version $Revision: 1.13 $ $Date: 2002/01/25 23:57:55 $ */ public class ServerLifecycleListener @@ -613,18 +613,33 @@ MBeanUtils.createMBean((Manager) newValue); } } else if ("realm".equals(propertyName)) { + // removeService() has non-null oldValue if (oldValue != null) { if (debug >= 5) { log("Removing MBean for Realm " + oldValue); } MBeanUtils.destroyMBean((Realm) oldValue); } + // addService() has non-null newValue if (newValue != null) { if (debug >= 5) { log("Creating MBean for Realm " + newValue); } MBeanUtils.createMBean((Realm) newValue); } + } else if ("service".equals(propertyName)) { + if (oldValue != null) { + if (debug >= 5) { + log("Removing MBean for Service " + oldValue); + } + MBeanUtils.destroyMBean((Service) oldValue); + } + if (newValue != null) { + if (debug >= 5) { + log("Creating MBean for Service " + newValue); + } + MBeanUtils.createMBean((Service) newValue); + } } } @@ -694,7 +709,16 @@ log("Process removeValve[container=" + container + ",valve=" + valve + "]"); - ; // FIXME - processContainerRemoveValve() + try { + MBeanUtils.destroyMBean(valve); + } catch (MBeanException t) { + Exception e = t.getTargetException(); + if (e == null) + e = t; + log("processContainerRemoveValve: MBeanException", e); + } catch (Throwable t) { + log("processContainerRemoveValve: Throwable", t); + } }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>