cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans MBeanUtils.java ServerLifecycleListener.java
amyroh 2002/06/14 06:29:49 Modified:catalina/src/conf tomcat-users.xml catalina/src/share/org/apache/catalina/mbeans MBeanUtils.java ServerLifecycleListener.java Log: Add global and context JNDI support. Resource Link and delete resources still need fix. Revision ChangesPath 1.4 +1 -1 jakarta-tomcat-4.0/catalina/src/conf/tomcat-users.xml Index: tomcat-users.xml === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/conf/tomcat-users.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- tomcat-users.xml 23 Dec 2000 20:12:55 - 1.3 +++ tomcat-users.xml 14 Jun 2002 13:29:48 - 1.4 @@ -4,7 +4,7 @@ you must define such a user - the username and password are arbitrary. -- tomcat-users - user name=tomcat password=tomcat roles=tomcat / + user name=tomcat password=tomcat roles=tomcat,admin / user name=role1 password=tomcat roles=role1 / user name=both password=tomcat roles=tomcat,role1 / /tomcat-users 1.42 +116 -50 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java Index: MBeanUtils.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v retrieving revision 1.41 retrieving revision 1.42 diff -u -r1.41 -r1.42 --- MBeanUtils.java 13 Jun 2002 18:14:17 - 1.41 +++ MBeanUtils.java 14 Jun 2002 13:29:48 - 1.42 @@ -924,20 +924,36 @@ Object container = environment.getNamingResources().getContainer(); if (container instanceof Server) { -name = new ObjectName(domain + :type=Environment,name= + - environment.getName()); +name = new ObjectName(domain + :type=Environment + +,resourcetype=Global,name= + environment.getName()); } else if (container instanceof Context) { String path = ((Context)container).getPath(); if (path.length() 1) path = /; -name = new ObjectName(domain + :type=Environment,path= + - path + ,name= + - environment.getName()); +Host host = (Host) ((Context)container).getParent(); +Engine engine = (Engine) host.getParent(); +Service service = engine.getService(); +name = new ObjectName(domain + :type=Environment + +,resourcetype=Context,path= + path + +,host= + host.getName() + +,service= + service.getName() + +,name= + environment.getName()); } else if (container instanceof DefaultContext) { -String defaultContextName = ((DefaultContext)container).getName(); -name = new ObjectName(domain + :type=Environment,defaultContext= + - defaultContextName + ,name= + - environment.getName()); +container = ((DefaultContext)container).getParent(); +if (container instanceof Host) { +Host host = (Host) container; +Service service = ((Engine)host.getParent()).getService(); +name = new ObjectName(domain + :type=Environment + +,resourcetype=DefaultContext,host= + host.getName() + +,service= + service.getName() + +,name= + environment.getName()); +} else if (container instanceof Engine) { +Engine engine = (Engine) container; +Service service = engine.getService(); +name = new ObjectName(domain + :type=Environment + +,resourcetype=DefaultContext,service= + +service.getName() + ,name= + environment.getName()); +} } return (name); @@ -963,23 +979,40 @@ Object container = resource.getNamingResources().getContainer(); if (container instanceof Server) { -name = new ObjectName(domain + :type=Resource,class= + - resource.getType() + ,name= + - encodedResourceName); -} else if (container instanceof Context) { +name = new ObjectName(domain + :type=Resource + +,resourcetype=Global,class= + resource.getType() + +,name= + encodedResourceName); +} else if (container instanceof Context) {
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans MBeanUtils.java ServerLifecycleListener.java
remm2002/06/08 17:23:27 Modified:catalina/src/share/org/apache/catalina/mbeans MBeanUtils.java ServerLifecycleListener.java Log: - Add the possibility to specify external resources where the MBeans definitions are. This can be used to declare custom components and keep the admin webapp happy. Revision ChangesPath 1.39 +26 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java Index: MBeanUtils.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- MBeanUtils.java 6 Jun 2002 22:36:47 - 1.38 +++ MBeanUtils.java 9 Jun 2002 00:23:27 - 1.39 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v 1.38 2002/06/06 22:36:47 amyroh Exp $ - * $Revision: 1.38 $ - * $Date: 2002/06/06 22:36:47 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v 1.39 2002/06/09 00:23:27 remm Exp $ + * $Revision: 1.39 $ + * $Date: 2002/06/09 00:23:27 $ * * * @@ -116,7 +116,7 @@ * * @author Craig R. McClanahan * @author Amy Roh - * @version $Revision: 1.38 $ $Date: 2002/06/06 22:36:47 $ + * @version $Revision: 1.39 $ $Date: 2002/06/09 00:23:27 $ */ public class MBeanUtils { @@ -1461,6 +1461,28 @@ } } return (registry); + +} + + +/** + * Load an MBean descriptor resource. + */ +public synchronized static void loadMBeanDescriptors(String resource) { + +try { +URL url = ServerLifecycleListener.class.getResource(resource); +if (url != null) { +InputStream stream = url.openStream(); +Registry.loadRegistry(stream); +stream.close(); +} else { +// XXX: i18n +System.out.println(MBean descriptors not found: + resource); +} +} catch (Throwable t) { +t.printStackTrace(System.out); +} } 1.26 +48 -4 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.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- ServerLifecycleListener.java 3 May 2002 23:45:40 - 1.25 +++ ServerLifecycleListener.java 9 Jun 2002 00:23:27 - 1.26 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java,v 1.25 2002/05/03 23:45:40 amyroh Exp $ - * $Revision: 1.25 $ - * $Date: 2002/05/03 23:45:40 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java,v 1.26 2002/06/09 00:23:27 remm Exp $ + * $Revision: 1.26 $ + * $Date: 2002/06/09 00:23:27 $ * * * @@ -66,10 +66,12 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; +import java.io.File; import java.io.InputStream; import java.net.URL; import java.util.Collection; import java.util.Iterator; +import java.util.StringTokenizer; import javax.management.MBeanException; import javax.management.MBeanServer; import javax.management.ObjectName; @@ -111,7 +113,7 @@ * * @author Craig R. McClanahan * @author Amy Roh - * @version $Revision: 1.25 $ $Date: 2002/05/03 23:45:40 $ + * @version $Revision: 1.26 $ $Date: 2002/06/09 00:23:27 $ */ public class ServerLifecycleListener @@ -135,6 +137,20 @@ } +/** + * Semicolon separated list of paths containing MBean desciptor resources. + */ +protected String descriptors = null; + +public String getDescriptors() { +return (this.descriptors); +} + +public void setDescriptors(String descriptors) { +this.descriptors = descriptors; +} + + // -- ContainerListener Methods @@ -180,9 +196,16 @@ Lifecycle lifecycle = event.getLifecycle(); if (Lifecycle.START_EVENT.equals(event.getType())) { + if (lifecycle instanceof Server) { + +// Loading additional
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans MBeanUtils.java ServerLifecycleListener.java
amyroh 02/04/17 17:13:07 Modified:catalina/src/share/org/apache/catalina/mbeans MBeanUtils.java ServerLifecycleListener.java Log: Add container parameter to destroyMBean(valve, container) to find the right valve mbean after removeValve() is called. Need its previously owning container info to unregister the correct mbean for a valve. Revision ChangesPath 1.34 +12 -5 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java Index: MBeanUtils.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- MBeanUtils.java 16 Apr 2002 20:27:37 - 1.33 +++ MBeanUtils.java 18 Apr 2002 00:13:07 - 1.34 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v 1.33 2002/04/16 20:27:37 amyroh Exp $ - * $Revision: 1.33 $ - * $Date: 2002/04/16 20:27:37 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v 1.34 2002/04/18 00:13:07 amyroh Exp $ + * $Revision: 1.34 $ + * $Date: 2002/04/18 00:13:07 $ * * * @@ -77,6 +77,7 @@ import javax.management.modelmbean.InvalidTargetObjectTypeException; import javax.management.modelmbean.ModelMBean; import org.apache.catalina.Connector; +import org.apache.catalina.Contained; import org.apache.catalina.Container; import org.apache.catalina.Context; import org.apache.catalina.DefaultContext; @@ -109,7 +110,7 @@ * * @author Craig R. McClanahan * @author Amy Roh - * @version $Revision: 1.33 $ $Date: 2002/04/16 20:27:37 $ + * @version $Revision: 1.34 $ $Date: 2002/04/18 00:13:07 $ */ public class MBeanUtils { @@ -1653,9 +1654,10 @@ * * @exception Exception if an MBean cannot be deregistered */ -public static void destroyMBean(Valve valve) +public static void destroyMBean(Valve valve, Container container) throws Exception { +((Contained)valve).setContainer(container); String mname = createManagedName(valve); ManagedBean managed = registry.findManagedBean(mname); if (managed == null) { @@ -1665,6 +1667,11 @@ if (domain == null) domain = mserver.getDefaultDomain(); ObjectName oname = createObjectName(domain, valve); +try { +((Contained)valve).setContainer(null); +} catch (Throwable t) { +; +} mserver.unregisterMBean(oname); } 1.23 +8 -8 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.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- ServerLifecycleListener.java 16 Apr 2002 20:27:37 - 1.22 +++ ServerLifecycleListener.java 18 Apr 2002 00:13:07 - 1.23 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java,v 1.22 2002/04/16 20:27:37 amyroh Exp $ - * $Revision: 1.22 $ - * $Date: 2002/04/16 20:27:37 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java,v 1.23 2002/04/18 00:13:07 amyroh Exp $ + * $Revision: 1.23 $ + * $Date: 2002/04/18 00:13:07 $ * * * @@ -107,7 +107,7 @@ * * @author Craig R. McClanahan * @author Amy Roh - * @version $Revision: 1.22 $ $Date: 2002/04/16 20:27:37 $ + * @version $Revision: 1.23 $ $Date: 2002/04/18 00:13:07 $ */ public class ServerLifecycleListener @@ -626,7 +626,7 @@ for (int l = 0; l cValves.length; l++) { if (debug = 4) log(Destroying MBean for Valve + cValves[l]); -MBeanUtils.destroyMBean(cValves[l]); +MBeanUtils.destroyMBean(cValves[l], context); } } @@ -673,7 +673,7 @@ for (int k = 0; k eValves.length; k++) { if (debug = 3) log(Destroying MBean for Valve + eValves[k]); -MBeanUtils.destroyMBean(eValves[k]); +MBeanUtils.destroyMBean(eValves[k], engine); } } @@ -726,7 +726,7 @@
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans MBeanUtils.java ServerLifecycleListener.java
amyroh 02/04/16 13:27:37 Modified:catalina/src/share/org/apache/catalina/mbeans MBeanUtils.java ServerLifecycleListener.java Log: Service parameter is required to find the right connector mbean to remove for destroyMBean(connector). Temporarily connects the connector to its owning service to get the right mbean name and disconnects. Revision ChangesPath 1.33 +7 -5 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java Index: MBeanUtils.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- MBeanUtils.java 9 Apr 2002 23:54:35 - 1.32 +++ MBeanUtils.java 16 Apr 2002 20:27:37 - 1.33 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v 1.32 2002/04/09 23:54:35 amyroh Exp $ - * $Revision: 1.32 $ - * $Date: 2002/04/09 23:54:35 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v 1.33 2002/04/16 20:27:37 amyroh Exp $ + * $Revision: 1.33 $ + * $Date: 2002/04/16 20:27:37 $ * * * @@ -109,7 +109,7 @@ * * @author Craig R. McClanahan * @author Amy Roh - * @version $Revision: 1.32 $ $Date: 2002/04/09 23:54:35 $ + * @version $Revision: 1.33 $ $Date: 2002/04/16 20:27:37 $ */ public class MBeanUtils { @@ -1277,9 +1277,10 @@ * * @exception Exception if an MBean cannot be deregistered */ -public static void destroyMBean(Connector connector) +public static void destroyMBean(Connector connector, Service service) throws Exception { +connector.setService(service); String mname = createManagedName(connector); ManagedBean managed = registry.findManagedBean(mname); if (managed == null) { @@ -1289,6 +1290,7 @@ if (domain == null) domain = mserver.getDefaultDomain(); ObjectName oname = createObjectName(domain, connector); +connector.setService(null); mserver.unregisterMBean(oname); } 1.22 +8 -8 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.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- ServerLifecycleListener.java 6 Mar 2002 06:49:11 - 1.21 +++ ServerLifecycleListener.java 16 Apr 2002 20:27:37 - 1.22 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java,v 1.21 2002/03/06 06:49:11 craigmcc Exp $ - * $Revision: 1.21 $ - * $Date: 2002/03/06 06:49:11 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java,v 1.22 2002/04/16 20:27:37 amyroh Exp $ + * $Revision: 1.22 $ + * $Date: 2002/04/16 20:27:37 $ * * * @@ -107,7 +107,7 @@ * * @author Craig R. McClanahan * @author Amy Roh - * @version $Revision: 1.21 $ $Date: 2002/03/06 06:49:11 $ + * @version $Revision: 1.22 $ $Date: 2002/04/16 20:27:37 $ */ public class ServerLifecycleListener @@ -563,12 +563,12 @@ * * @exception Exception if an exception is thrown during MBean creation */ -protected void destroyMBeans(Connector connector) throws Exception { +protected void destroyMBeans(Connector connector, Service service) throws Exception { // deregister the MBean for the Connector itself if (debug = 5) log(Destroying MBean for Connector + connector); -MBeanUtils.destroyMBean(connector); +MBeanUtils.destroyMBean(connector, service); } @@ -764,7 +764,7 @@ // Deregister the MBeans for the corresponding Connectors Connector connectors[] = service.findConnectors(); for (int j = 0; j connectors.length; j++) { -destroyMBeans(connectors[j]); +destroyMBeans(connectors[j], service); } // Deregister the MBeans for the associated Engine @@ -1091,7 +1091,7 @@ } if (connector.equals(propertyName)) { if (oldValue != null) { -destroyMBeans((Connector) oldValue); +
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans MBeanUtils.java ServerLifecycleListener.java
amyroh 02/02/04 12:28:50 Modified:catalina/src/share/org/apache/catalina/mbeans MBeanUtils.java ServerLifecycleListener.java Log: Add to create MBeanFactory MBean so it's visible to admin application. Revision ChangesPath 1.18 +52 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java Index: MBeanUtils.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- MBeanUtils.java 3 Feb 2002 00:56:57 - 1.17 +++ MBeanUtils.java 4 Feb 2002 20:28:49 - 1.18 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v 1.17 2002/02/03 00:56:57 craigmcc Exp $ - * $Revision: 1.17 $ - * $Date: 2002/02/03 00:56:57 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v 1.18 2002/02/04 20:28:49 amyroh Exp $ + * $Revision: 1.18 $ + * $Date: 2002/02/04 20:28:49 $ * * * @@ -107,7 +107,7 @@ * * @author Craig R. McClanahan * @author Amy Roh - * @version $Revision: 1.17 $ $Date: 2002/02/03 00:56:57 $ + * @version $Revision: 1.18 $ $Date: 2002/02/04 20:28:49 $ */ public class MBeanUtils { @@ -425,6 +425,34 @@ } + +/** + * Create, register, and return an MBean for this + * codeMBeanFactory/code object. + * + * @param factory The MBeanFactory to be managed + * + * @exception Exception if an MBean cannot be created or registered + */ +public static ModelMBean createMBean(MBeanFactory factory) +throws Exception { + +String mname = createManagedName(factory); +ManagedBean managed = registry.findManagedBean(mname); +if (managed == null) { +return null; +} +String domain = managed.getDomain(); +if (domain == null) +domain = mserver.getDefaultDomain(); +ModelMBean mbean = managed.createMBean(factory); +ObjectName oname = createObjectName(domain, factory); +mserver.registerMBean(mbean, oname); +return (mbean); + +} + + /** * Create, register, and return an MBean for this * codeRealm/code object. @@ -911,6 +939,26 @@ } +/** + * Create an codeObjectName/code for this + * codeMBeanFactory/code object. + * + * @param domain Domain in which this name is to be created + * @param factory The MBeanFactory to be named + * + * @exception MalformedObjectNameException if a name cannot be created + */ +public static ObjectName createObjectName(String domain, + MBeanFactory factory) +throws MalformedObjectNameException { + +ObjectName name = new ObjectName(domain + :type=MBeanFactory); + +return (name); + +} + + /** * Create an codeObjectName/code for this * codeRealm/code object. 1.19 +23 -4 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.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- ServerLifecycleListener.java 31 Jan 2002 23:02:41 - 1.18 +++ ServerLifecycleListener.java 4 Feb 2002 20:28:49 - 1.19 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java,v 1.18 2002/01/31 23:02:41 amyroh Exp $ - * $Revision: 1.18 $ - * $Date: 2002/01/31 23:02:41 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java,v 1.19 2002/02/04 20:28:49 amyroh Exp $ + * $Revision: 1.19 $ + * $Date: 2002/02/04 20:28:49 $ * * * @@ -105,7 +105,7 @@ * * @author Craig R. McClanahan * @author Amy Roh - * @version $Revision: 1.18 $ $Date: 2002/01/31 23:02:41 $ + * @version $Revision: 1.19 $ $Date: 2002/02/04 20:28:49 $ */ public class ServerLifecycleListener @@ -237,6 +237,8 @@ try { +MBeanFactory factory = new MBeanFactory(); +createMBeans(factory); createMBeans(ServerFactory.getServer());
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans MBeanUtils.java ServerLifecycleListener.java mbeans-descriptors.xml
craigmcc02/01/24 11:26:12 Modified:catalina/src/share/org/apache/catalina/mbeans MBeanUtils.java ServerLifecycleListener.java mbeans-descriptors.xml Log: Update MBean creation support so that MBeans are created in all cases where new components are added dynamically, by registering appropriate event listeners. TODO: Creation of MBean object names for valves is not returning unique names, so only the last valve for a particular component is done. TODO: Looks like we need to add events for StandardServer.addService() and StandardServer.removeService() so that ServerLifecycleListener can listen in. TODO: Need to flesh out removing listeners and MBeans as components are removed (should be pretty much a mirror image of the times when things are created or registered). Revision ChangesPath 1.15 +35 -13 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java Index: MBeanUtils.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- MBeanUtils.java 23 Jan 2002 17:44:55 - 1.14 +++ MBeanUtils.java 24 Jan 2002 19:26:11 - 1.15 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v 1.14 2002/01/23 17:44:55 remm Exp $ - * $Revision: 1.14 $ - * $Date: 2002/01/23 17:44:55 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v 1.15 2002/01/24 19:26:11 craigmcc Exp $ + * $Revision: 1.15 $ + * $Date: 2002/01/24 19:26:11 $ * * * @@ -106,7 +106,7 @@ * * @author Craig R. McClanahan * @author Amy Roh - * @version $Revision: 1.14 $ $Date: 2002/01/23 17:44:55 $ + * @version $Revision: 1.15 $ $Date: 2002/01/24 19:26:11 $ */ public class MBeanUtils { @@ -762,14 +762,19 @@ name = new ObjectName(domain + :type=Loader,service= + service.getName()); } else if (container instanceof Host) { -Service service = ((Engine)container.getParent()).getService(); +Engine engine = (Engine) container.getParent(); +Service service = engine.getService(); name = new ObjectName(domain + :type=Loader,host= + container.getName() + ,service= + service.getName()); } else if (container instanceof Context) { String path = ((Context)container).getPath(); +if (path.length() 1) { +path = /; +} Host host = (Host) container.getParent(); -Service service = ((Engine)container.getParent()).getService(); +Engine engine = (Engine) host.getParent(); +Service service = engine.getService(); name = new ObjectName(domain + :type=Loader,path= + path + ,host= + host.getName() + ,service= + service.getName()); @@ -801,15 +806,19 @@ name = new ObjectName(domain + :type=Logger,service= + service.getName()); } else if (container instanceof Host) { -Service service = ((Engine)container.getParent()).getService(); +Engine engine = (Engine) container.getParent(); +Service service = engine.getService(); name = new ObjectName(domain + :type=Logger,host= + container.getName() + ,service= + service.getName()); } else if (container instanceof Context) { String path = ((Context)container).getPath(); +if (path.length() 1) { +path = /; +} Host host = (Host) container.getParent(); -Service service = -((Engine)container.getParent().getParent()).getService(); +Engine engine = (Engine) host.getParent(); +Service service = engine.getService(); name = new ObjectName(domain + :type=Logger,path= + path + ,host= + host.getName() + ,service= + service.getName()); @@ -841,14 +850,19 @@ name = new ObjectName(domain + :type=Manager,service= + service.getName()); } else if (container instanceof Host) { -Service service = ((Engine)container.getParent()).getService(); +Engine engine = (Engine)
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans MBeanUtils.java ServerLifecycleListener.java
remm02/01/17 12:01:02 Modified:catalina/src/share/org/apache/catalina/mbeans MBeanUtils.java ServerLifecycleListener.java Log: - The JMX support can now be built and distributed with an alternate JMX implmentation: OpenJMX. OpenJMX is a Sourceforge project which uses the Apache license, so this should remove the redistribution problems with the JMX RI. Overall, I think OpenJMX is an ideal candidate for distribution with upcoming Tomcat releases. - The build.properties mentions OpenJMX 1.0 b2, which is not released yet. 1.0 b1 will not work, as a few fixes were needed to work with Tomcat. - I don't see any reason why not to enable the JMX support by default once OpenJMX reaches 1.0 status. - Removes use of proprietary APIs from the JMX RI. - Rename the main JMX variable: jmxri.jar - jmx.jar (the first one implied that the JMX RI is required). Revision ChangesPath 1.8 +4 -5 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java Index: MBeanUtils.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- MBeanUtils.java 14 Jan 2002 21:42:37 - 1.7 +++ MBeanUtils.java 17 Jan 2002 20:01:02 - 1.8 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v 1.7 2002/01/14 21:42:37 amyroh Exp $ - * $Revision: 1.7 $ - * $Date: 2002/01/14 21:42:37 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v 1.8 2002/01/17 20:01:02 remm Exp $ + * $Revision: 1.8 $ + * $Date: 2002/01/17 20:01:02 $ * * * @@ -76,7 +76,6 @@ import javax.management.OperationsException; import javax.management.modelmbean.InvalidTargetObjectTypeException; import javax.management.modelmbean.ModelMBean; -import com.sun.management.jmx.Trace; import org.apache.catalina.Connector; import org.apache.catalina.Container; import org.apache.catalina.Context; @@ -104,7 +103,7 @@ * * @author Craig R. McClanahan * @author Amy Roh - * @version $Revision: 1.7 $ $Date: 2002/01/14 21:42:37 $ + * @version $Revision: 1.8 $ $Date: 2002/01/17 20:01:02 $ */ public class MBeanUtils { 1.7 +4 -101 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.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- ServerLifecycleListener.java 14 Jan 2002 21:42:37 - 1.6 +++ ServerLifecycleListener.java 17 Jan 2002 20:01:02 - 1.7 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java,v 1.6 2002/01/14 21:42:37 amyroh Exp $ - * $Revision: 1.6 $ - * $Date: 2002/01/14 21:42:37 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java,v 1.7 2002/01/17 20:01:02 remm Exp $ + * $Revision: 1.7 $ + * $Date: 2002/01/17 20:01:02 $ * * * @@ -71,8 +71,6 @@ import javax.management.MBeanException; import javax.management.MBeanServer; import javax.management.ObjectName; -import com.sun.jdmk.comm.AuthInfo; -import com.sun.jdmk.comm.HtmlAdaptorServer; import org.apache.catalina.Connector; import org.apache.catalina.Container; import org.apache.catalina.ContainerEvent; @@ -100,22 +98,13 @@ * * @author Craig R. McClanahan * @author Amy Roh - * @version $Revision: 1.6 $ $Date: 2002/01/14 21:42:37 $ + * @version $Revision: 1.7 $ $Date: 2002/01/17 20:01:02 $ */ public class ServerLifecycleListener implements ContainerListener, LifecycleListener { -// - Instance Variables - - -/** - * The HtmlAdaptorServer to be executed (if any). - */ -protected HtmlAdaptorServer adaptor = null; - - // - Properties @@ -133,51 +122,6 @@ } -/** - * The port number for the codeHtmlAdaptorServer/code to be created, - * or -1 for no adaptor. - */ -protected int port = -1; - -public int getPort() { -return (this.port); -} - -
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans MBeanUtils.java ServerLifecycleListener.java
amyroh 02/01/14 13:42:37 Modified:catalina/src/share/org/apache/catalina/mbeans MBeanUtils.java ServerLifecycleListener.java Log: Add createMBean, createObjectName, and destroyMBean methods for Loader and Manager. Revision ChangesPath 1.7 +173 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java Index: MBeanUtils.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- MBeanUtils.java 14 Nov 2001 03:51:06 - 1.6 +++ MBeanUtils.java 14 Jan 2002 21:42:37 - 1.7 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v 1.6 2001/11/14 03:51:06 amyroh Exp $ - * $Revision: 1.6 $ - * $Date: 2001/11/14 03:51:06 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v 1.7 2002/01/14 21:42:37 amyroh Exp $ + * $Revision: 1.7 $ + * $Date: 2002/01/14 21:42:37 $ * * * @@ -84,7 +84,9 @@ import org.apache.catalina.Host; import org.apache.catalina.LifecycleEvent; import org.apache.catalina.LifecycleListener; +import org.apache.catalina.Loader; import org.apache.catalina.Logger; +import org.apache.catalina.Manager; import org.apache.catalina.Realm; import org.apache.catalina.Server; import org.apache.catalina.ServerFactory; @@ -102,7 +104,7 @@ * * @author Craig R. McClanahan * @author Amy Roh - * @version $Revision: 1.6 $ $Date: 2001/11/14 03:51:06 $ + * @version $Revision: 1.7 $ $Date: 2002/01/14 21:42:37 $ */ public class MBeanUtils { @@ -261,6 +263,29 @@ /** * Create, register, and return an MBean for this + * codeLoader/code object. + * + * @param loader The Loader to be managed + * + * @exception Exception if an MBean cannot be created or registered + */ +public static ModelMBean createMBean(Loader loader) +throws Exception { + +String mname = createManagedName(loader); +ManagedBean managed = registry.findManagedBean(mname); +String domain = managed.getDomain(); +if (domain == null) +domain = mserver.getDefaultDomain(); +ModelMBean mbean = managed.createMBean(loader); +ObjectName oname = createObjectName(domain, loader); +mserver.registerMBean(mbean, oname); +return (mbean); + +} + +/** + * Create, register, and return an MBean for this * codeLogger/code object. * * @param logger The Logger to be managed @@ -285,6 +310,29 @@ /** * Create, register, and return an MBean for this + * codeManager/code object. + * + * @param manager The Manager to be managed + * + * @exception Exception if an MBean cannot be created or registered + */ +public static ModelMBean createMBean(Manager manager) +throws Exception { + +String mname = createManagedName(manager); +ManagedBean managed = registry.findManagedBean(mname); +String domain = managed.getDomain(); +if (domain == null) +domain = mserver.getDefaultDomain(); +ModelMBean mbean = managed.createMBean(manager); +ObjectName oname = createObjectName(domain, manager); +mserver.registerMBean(mbean, oname); +return (mbean); + +} + +/** + * Create, register, and return an MBean for this * codeRealm/code object. * * @param realm The Realm to be managed @@ -498,6 +546,45 @@ /** * Create an codeObjectName/code for this + * codeLoader/code object. + * + * @param domain Domain in which this name is to be created + * @param loader The Loader to be named + * + * @exception MalformedObjectNameException if a name cannot be created + */ +public static ObjectName createObjectName(String domain, + Loader loader) +throws MalformedObjectNameException { + +ObjectName name = null; +Container container = loader.getContainer(); + +if (container instanceof Engine) { +Service service = ((Engine)container).getService(); +name = new ObjectName(domain + :type=Loader,service= + + service.getName()); +} else if (container instanceof Host) { +Service service = ((Engine)container.getParent()).getService(); +name = new ObjectName(domain +