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

Reply via email to