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]