amyroh 2003/03/24 01:18:27 Modified: catalina/src/share/org/apache/catalina/core ContainerBase.java StandardServer.java mbeans-descriptors.xml catalina/src/share/org/apache/catalina/mbeans MBeanFactory.java MBeanUtils.java StandardServerMBean.java catalina/src/share/org/apache/catalina/servlets ManagerServlet.java Log: More admin update. Items left to be fixed/tested are deregistration of MBeans, DefaultContext, Valve, Logger, Realm pages. Revision Changes Path 1.15 +1 -2 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ContainerBase.java Index: ContainerBase.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ContainerBase.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- ContainerBase.java 21 Mar 2003 07:33:14 -0000 1.14 +++ ContainerBase.java 24 Mar 2003 09:18:26 -0000 1.15 @@ -1714,7 +1714,7 @@ if( host!=null ) suffix.append(",host=").append( host.getName() ); if( context!=null ) { String path=((StandardContext)context).getPath(); - suffix.append(",path=").append((path=="") ? "//" : path); + suffix.append(",path=").append((path=="") ? "/" : path); } if( servlet != null ) { String name=container.getName(); @@ -1726,4 +1726,3 @@ } - 1.14 +5 -5 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardServer.java Index: StandardServer.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardServer.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- StandardServer.java 17 Mar 2003 19:22:07 -0000 1.13 +++ StandardServer.java 24 Mar 2003 09:18:26 -0000 1.14 @@ -734,7 +734,7 @@ * @exception RuntimeOperationsException if an exception is reported * by the persistence mechanism */ - public synchronized void store() throws Exception { + public synchronized void storeConfig() throws Exception { // Calculate file objects for the old and new configuration files. String configFile = "conf/server.xml"; // FIXME - configurable? 1.5 +1 -1 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml Index: mbeans-descriptors.xml =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- mbeans-descriptors.xml 20 Mar 2003 18:28:28 -0000 1.4 +++ mbeans-descriptors.xml 24 Mar 2003 09:18:26 -0000 1.5 @@ -513,7 +513,7 @@ description="Object names of all services we know about" type="[Ljavax.management.ObjectName;"/> - <operation name="store" + <operation name="storeConfig" description="Save current state to server.xml file" impact="ACTION" returnType="void"> 1.10 +38 -24 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.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- MBeanFactory.java 23 Mar 2003 02:12:22 -0000 1.9 +++ MBeanFactory.java 24 Mar 2003 09:18:26 -0000 1.10 @@ -353,11 +353,13 @@ Class partypes1 [] = new Class[1]; // Set address String str = new String(); - partypes1[0] = str.getClass(); - Method meth1 = cls.getMethod("setAddress", partypes1); - Object arglist1[] = new Object[1]; - arglist1[0] = address; - meth1.invoke(retobj, arglist1); + if ((address!=null) && (address.length()>0)) { + partypes1[0] = str.getClass(); + Method meth1 = cls.getMethod("setAddress", partypes1); + Object arglist1[] = new Object[1]; + arglist1[0] = address; + meth1.invoke(retobj, arglist1); + } // Set port number Class partypes2 [] = new Class[1]; partypes2[0] = Integer.TYPE; @@ -380,7 +382,9 @@ Method getObjectName = cls.getMethod("getObjectName", null); // Return the corresponding MBean name - ObjectName coname = (ObjectName)getObjectName.invoke(retobj, null); + //ObjectName coname = (ObjectName)getObjectName.invoke(retobj, null); + ObjectName coname = + MBeanUtils.createObjectName(pname.getDomain(), (Connector)retobj); return (coname.toString()); } catch (Exception e) { @@ -482,11 +486,13 @@ Class partypes1 [] = new Class[1]; // Set address String str = new String(); - partypes1[0] = str.getClass(); - Method meth1 = cls.getMethod("setAddress", partypes1); - Object arglist1[] = new Object[1]; - arglist1[0] = address; - meth1.invoke(retobj, arglist1); + if ((address!=null) && (address.length()>0)) { + partypes1[0] = str.getClass(); + Method meth1 = cls.getMethod("setAddress", partypes1); + Object arglist1[] = new Object[1]; + arglist1[0] = address; + meth1.invoke(retobj, arglist1); + } // Set port number Class partypes2 [] = new Class[1]; partypes2[0] = Integer.TYPE; @@ -501,7 +507,9 @@ Method getObjectName = cls.getMethod("getObjectName", null); // Return the corresponding MBean name - ObjectName coname = (ObjectName)getObjectName.invoke(retobj, null); + //ObjectName coname = (ObjectName)getObjectName.invoke(retobj, null); + ObjectName coname = + MBeanUtils.createObjectName(pname.getDomain(), (Connector)retobj); return (coname.toString()); } catch (Exception e) { throw new MBeanException(e); @@ -532,11 +540,13 @@ Class partypes1 [] = new Class[1]; // Set address String str = new String(); - partypes1[0] = str.getClass(); - Method meth1 = cls.getMethod("setAddress", partypes1); - Object arglist1[] = new Object[1]; - arglist1[0] = address; - meth1.invoke(retobj, arglist1); + if ((address!=null) && (address.length()>0)) { + partypes1[0] = str.getClass(); + Method meth1 = cls.getMethod("setAddress", partypes1); + Object arglist1[] = new Object[1]; + arglist1[0] = address; + meth1.invoke(retobj, arglist1); + } // Set port number Class partypes2 [] = new Class[1]; partypes2[0] = Integer.TYPE; @@ -584,7 +594,9 @@ Method getObjectName = cls.getMethod("getObjectName", null); // Return the corresponding MBean name - ObjectName coname = (ObjectName)getObjectName.invoke(retobj, null); + //ObjectName coname = (ObjectName)getObjectName.invoke(retobj, null); + ObjectName coname = + MBeanUtils.createObjectName(pname.getDomain(), (Connector)retobj); return (coname.toString()); } catch (Exception e) { // FIXME @@ -800,7 +812,7 @@ // Create a new StandardContext instance StandardContext context = new StandardContext(); - //path = getPathStr(path); + path = getPathStr(path); context.setPath(path); context.setDocBase(docBase); ContextConfig contextConfig = new ContextConfig(); @@ -814,7 +826,9 @@ host.addChild(context); // Return the corresponding MBean name - return (context.getObjectName().toString()); + ObjectName oname = + MBeanUtils.createObjectName(pname.getDomain(), context); + return (oname.toString()); } 1.16 +42 -18 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.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- MBeanUtils.java 23 Mar 2003 02:12:22 -0000 1.15 +++ MBeanUtils.java 24 Mar 2003 09:18:26 -0000 1.16 @@ -885,9 +885,13 @@ String serviceName = null; if (service != null) serviceName = service.getName(); - name = new ObjectName(domain + ":type=Connector" + - ",port=" + port + - ",address=" + address); + StringBuffer sb = new StringBuffer(domain); + sb.append(":type=Connector"); + sb.append(",port=" + port); + if ((address != null) && (address.length()>0)) { + sb.append(",address=" + address); + } + name = new ObjectName(sb.toString()); return (name); } catch (Exception e) { throw new MalformedObjectNameException @@ -920,9 +924,11 @@ String path = context.getPath(); if (path.length() < 1) path = "/"; - name = new ObjectName(domain + ":type=Context,path=" + - path + ",host=" + - host.getName()); + // FIXME + name = new ObjectName(domain + ":j2eeType=WebModule,name=//" + + host.getName()+ path + + ",J2EEApplication=none,J2EEServer=none"); + return (name); } @@ -1570,6 +1576,10 @@ ObjectName name = null; Container container = null; + String className=valve.getClass().getName(); + int period = className.lastIndexOf('.'); + if (period >= 0) + className = className.substring(period + 1); if( valve instanceof Contained ) { container = ((Contained)valve).getContainer(); } @@ -1577,18 +1587,27 @@ throw new MalformedObjectNameException( "Cannot create mbean for non-contained valve " + valve); - } - + } if (container instanceof Engine) { Service service = ((Engine)container).getService(); String local=""; - name = new ObjectName(domain + ":type=Valve,sequence=" + - getSeq(local) + local ); + int seq = getSeq(local); + String ext=""; + if( seq > 0 ) { + ext=",seq=" + seq; + } + name = new ObjectName(domain + ":type=Valve,name=" + className + + ext + local ); } else if (container instanceof Host) { Service service = ((Engine)container.getParent()).getService(); String local=",host=" +container.getName(); - name = new ObjectName(domain + ":type=Valve,sequence=" + - getSeq(local) + local); + int seq = getSeq(local); + String ext=""; + if( seq > 0 ) { + ext=",seq=" + seq; + } + name = new ObjectName(domain + ":type=Valve,name=" + className + + ext + local ); } else if (container instanceof Context) { String path = ((Context)container).getPath(); if (path.length() < 1) { @@ -1598,8 +1617,13 @@ Service service = ((Engine) host.getParent()).getService(); String local=",path=" + path + ",host=" + host.getName(); - name = new ObjectName(domain + ":type=Valve,sequence=" + - getSeq(local) + local ); + int seq = getSeq(local); + String ext=""; + if( seq > 0 ) { + ext=",seq=" + seq; + } + name = new ObjectName(domain + ":type=Valve,name=" + className + + ext + local ); } return (name); 1.2 +5 -5 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java Index: StandardServerMBean.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- StandardServerMBean.java 18 Jul 2002 16:48:01 -0000 1.1 +++ StandardServerMBean.java 24 Mar 2003 09:18:27 -0000 1.2 @@ -137,7 +137,7 @@ Server server = ServerFactory.getServer(); if (server instanceof StandardServer) { try { - ((StandardServer) server).store(); + ((StandardServer) server).storeConfig(); } catch (Exception e) { throw new MBeanException(e, "Error updating conf/server.xml"); } 1.7 +6 -6 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/servlets/ManagerServlet.java Index: ManagerServlet.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/servlets/ManagerServlet.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- ManagerServlet.java 15 Jan 2003 03:40:42 -0000 1.6 +++ ManagerServlet.java 24 Mar 2003 09:18:27 -0000 1.7 @@ -420,7 +420,7 @@ Server server = ServerFactory.getServer(); if ((server != null) && (server instanceof StandardServer)) { try { - ((StandardServer) server).store(); + ((StandardServer) server).storeConfig(); } catch (Exception e) { writer.println(sm.getString("managerServlet.saveFail", e.getMessage())); @@ -1249,7 +1249,7 @@ Server server = ServerFactory.getServer(); if ((server != null) && (server instanceof StandardServer)) { try { - ((StandardServer) server).store(); + ((StandardServer) server).storeConfig(); } catch (Exception e) { writer.println(sm.getString("managerServlet.saveFail", e.getMessage()));
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]