amyroh      2003/03/19 21:43:49

  Modified:    catalina/src/share/org/apache/catalina/loader
                        WebappLoader.java
               catalina/src/share/org/apache/catalina/mbeans
                        MBeanFactory.java MBeanUtils.java
                        mbeans-descriptors.xml
               catalina/src/share/org/apache/catalina/session
                        ManagerBase.java
  Log:
  Set empty path to "/" so ObjectName for loader and manager gets created
  successfully without MalformedObjectNameException.  Change MBeanFactory
  to create service and engine together so service knows its domain during 
initialization.
  
  Revision  Changes    Path
  1.12      +6 -2      
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java
  
  Index: WebappLoader.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/loader/WebappLoader.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- WebappLoader.java 17 Mar 2003 19:22:37 -0000      1.11
  +++ WebappLoader.java 20 Mar 2003 05:43:48 -0000      1.12
  @@ -684,8 +684,12 @@
                   try {
                       StandardContext ctx=(StandardContext)container;
                       Engine eng=(Engine)ctx.getParent().getParent();
  +                    String path = ctx.getPath();
  +                    if (path.equals("")) {
  +                        path = "/";
  +                    }   
                       oname=new ObjectName(eng.getName() + ":type=Loader,path=" +
  -                            ctx.getPath() + ",host=" + ctx.getParent().getName());
  +                                path + ",host=" + ctx.getParent().getName());
                       Registry.getRegistry().registerComponent(this, oname, null);
                       controller=oname;
                   } catch (Exception e) {
  
  
  
  1.7       +38 -11    
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java
  
  Index: MBeanFactory.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- MBeanFactory.java 20 Sep 2002 21:22:31 -0000      1.6
  +++ MBeanFactory.java 20 Mar 2003 05:43:48 -0000      1.7
  @@ -65,6 +65,7 @@
   
   import java.lang.reflect.Constructor;
   import java.lang.reflect.Method;
  +import java.util.Vector;
   import javax.management.MBeanException;
   import javax.management.MBeanServer;
   import javax.management.ObjectName;
  @@ -431,7 +432,7 @@
           // Return the corresponding MBean name
           ManagedBean managed = registry.findManagedBean("CoyoteConnector");
           ObjectName oname =
  -            MBeanUtils.createObjectName(managed.getDomain(), (Connector)retobj);
  +            MBeanUtils.createObjectName(pname.getDomain(), (Connector)retobj);
           return (oname.toString());
   
       }
  @@ -868,18 +869,44 @@
           // Add the new instance to its parent component
           ObjectName pname = new ObjectName(parent);
           Server server = ServerFactory.getServer();
  -        Service service = server.findService(pname.getKeyProperty("name"));
  +        Service service = server.findService(name);
           service.setContainer(engine);
   
           // Return the corresponding MBean name
  -        ManagedBean managed = registry.findManagedBean("StandardEngine");
  +        //ManagedBean managed = registry.findManagedBean("StandardEngine");
           ObjectName oname =
  -            MBeanUtils.createObjectName(managed.getDomain(), engine);
  +            MBeanUtils.createObjectName(name, engine);
           return (oname.toString());
   
       }
   
   
  +    public Vector createStandardEngineService(String parent, 
  +            String engineName, String defaultHost, String serviceName)
  +        throws Exception {
  +
  +        // Create a new StandardService instance
  +        StandardService service = new StandardService();
  +        service.setName(serviceName);
  +        // Create a new StandardEngine instance
  +        StandardEngine engine = new StandardEngine();
  +        engine.setName(engineName);
  +        engine.setDefaultHost(defaultHost);
  +        service.setContainer(engine);
  +        // Add the new instance to its parent component
  +        Server server = ServerFactory.getServer();
  +        server.addService(service);
  +        Vector onames = new Vector();
  +        ObjectName oname =
  +            MBeanUtils.createObjectName(engineName, engine);
  +        onames.add(0, oname);
  +        oname = MBeanUtils.createObjectName(engineName, service);
  +        onames.add(1, oname);
  +        return (onames);
  +
  +    }
  +
  +
       /**
        * Create a new StandardHost.
        *
  @@ -986,7 +1013,7 @@
        *
        * @exception Exception if an MBean cannot be created or registered
        */
  -    public String createStandardService(String parent, String name)
  +    public String createStandardService(String parent, String name, String domain)
           throws Exception {
   
           // Create a new StandardService instance
  @@ -998,9 +1025,9 @@
           server.addService(service);
   
           // Return the corresponding MBean name
  -        ManagedBean managed = registry.findManagedBean("StandardService");
  +        //ManagedBean managed = registry.findManagedBean("StandardService");
           ObjectName oname =
  -            MBeanUtils.createObjectName(managed.getDomain(), service);
  +            MBeanUtils.createObjectName(domain, service);
           return (oname.toString());
   
       }
  
  
  
  1.14      +5 -6      
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java
  
  Index: MBeanUtils.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- MBeanUtils.java   19 Mar 2003 07:28:31 -0000      1.13
  +++ MBeanUtils.java   20 Mar 2003 05:43:48 -0000      1.14
  @@ -1500,8 +1500,7 @@
           throws MalformedObjectNameException {
   
           ObjectName name = null;
  -        name = new ObjectName(domain + ":type=Service,name=" +
  -                              service.getName());
  +        name = new ObjectName(domain + ":type=Service");
           return (name);
   
       }
  
  
  
  1.22      +18 -0     
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml
  
  Index: mbeans-descriptors.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- mbeans-descriptors.xml    19 Mar 2003 07:29:21 -0000      1.21
  +++ mbeans-descriptors.xml    20 Mar 2003 05:43:48 -0000      1.22
  @@ -922,6 +922,24 @@
                    type="java.lang.String"/>
       </operation>
   
  +    <operation   name="createStandardEngineService"
  +          description="Create a new StandardEngine and StandardService"
  +               impact="ACTION"
  +           returnType="java.lang.String">
  +      <parameter name="parent"
  +          description="MBean Name of the associated parent Service"
  +                 type="java.lang.String"/>
  +      <parameter name="engineName"
  +          description="Unique name of this Engine"
  +                 type="java.lang.String"/>
  +      <parameter name="defaultHost"
  +          description="Default host name for this Engine"
  +                 type="java.lang.String"/>
  +      <parameter name="serviceName"
  +          description="Unique name of this Service"
  +                 type="java.lang.String"/>
  +    </operation>
  +
       <operation   name="createStandardHost"
             description="Create a new StandardHost"
                  impact="ACTION"
  
  
  
  1.15      +8 -5      
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/ManagerBase.java
  
  Index: ManagerBase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- ManagerBase.java  17 Mar 2003 19:24:35 -0000      1.14
  +++ ManagerBase.java  20 Mar 2003 05:43:49 -0000      1.15
  @@ -517,8 +517,8 @@
        *  - so use it if available.
        */
       public void setRandomFile( String s ) {
  -     // as a hack, you can use a static file - and genarate the same
  -     // session ids ( good for strange debugging )
  +    // as a hack, you can use a static file - and genarate the same
  +    // session ids ( good for strange debugging )
           if (System.getSecurityManager() != null){
                   randomIS = (DataInputStream)AccessController.doPrivileged(new 
PrivilegedSetRandomFile());          
               } else {
  @@ -624,9 +624,12 @@
                   Engine eng=(Engine)ctx.getParent().getParent();
                   domain=eng.getName();
                   StandardHost hst=(StandardHost)ctx.getParent();
  -                
  +                String path = ctx.getPath();
  +                if (path.equals("")) {
  +                    path = "/";
  +                }   
                   oname=new ObjectName(domain + ":type=Manager,path="
  -                + ctx.getPath() + ",host=" + hst.getName());
  +                + path + ",host=" + hst.getName());
                   Registry.getRegistry().registerComponent(this, oname, null );
               } catch (Exception e) {
                   log.error("Error registering ",e);
  
  
  

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

Reply via email to