costin      2003/04/04 20:00:32

  Modified:    catalina/src/share/org/apache/catalina/core
                        StandardEngine.java
  Log:
  A bit of a hack for now. When the engine is destroyed it should clean up
  the data that it loaded in registry - otherwise a start would see the
  old data.
  
  The real solution is to stop using the static methods in Registry. The registry
  is just a helper associated with the app. This will also be more secure.
  
  In any case - for next release of modeler the static methods will be deprecated
  and the method that loads explicitely an mbean-descriptor will also be deprecated.
  It is much cleaner to load the descriptors on demand, from the same package.
  
  Revision  Changes    Path
  1.10      +15 -13    
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardEngine.java
  
  Index: StandardEngine.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardEngine.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- StandardEngine.java       4 Apr 2003 22:46:17 -0000       1.9
  +++ StandardEngine.java       5 Apr 2003 04:00:32 -0000       1.10
  @@ -65,23 +65,17 @@
   package org.apache.catalina.core;
   
   
  -import java.io.IOException;
  -import javax.servlet.ServletException;
  -import javax.servlet.ServletRequest;
  -import javax.servlet.http.HttpServletResponse;
  -import javax.management.ObjectName;
   import javax.management.MBeanServer;
   import javax.management.MalformedObjectNameException;
  +import javax.management.ObjectName;
   import org.apache.catalina.Container;
   import org.apache.catalina.Context;
   import org.apache.catalina.DefaultContext;
   import org.apache.catalina.Engine;
   import org.apache.catalina.Host;
   import org.apache.catalina.LifecycleException;
  -import org.apache.catalina.Request;
  -import org.apache.catalina.Response;
  -import org.apache.catalina.Service;
   import org.apache.catalina.Realm;
  +import org.apache.catalina.Service;
   import org.apache.catalina.realm.JAASRealm;
   import org.apache.catalina.util.ServerInfo;
   import org.apache.commons.logging.Log;
  @@ -385,6 +379,7 @@
                   domain=getName();
                   log.info( "Register " + domain );
                   oname=new ObjectName(domain + ":type=Engine");
  +                controller=oname;
                   Registry.getRegistry().registerComponent(this, oname, null);
               } catch( Throwable t ) {
                   log.info("Error registering ", t );
  @@ -422,10 +417,16 @@
           
       }
       
  -    public void destroy() {
  +    public void destroy() throws LifecycleException {
           if( ! initialized ) return;
           initialized=false;
           
  +        // if we created it, make sure it's also destroyed
  +        ((StandardService)service).destroy();
  +        // force all metadata to be reloaded.
  +        // That doesn't affect existing beans. We should make it per
  +        // registry - and stop using the static.
  +        Registry.getRegistry().resetMetadata();        
       }
       
       /**
  @@ -505,3 +506,4 @@
       }
   
   }
  +                                                          
  \ No newline at end of file
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to