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]>