Author: markt Date: Sun May 2 18:13:34 2010 New Revision: 940284 URL: http://svn.apache.org/viewvc?rev=940284&view=rev Log: Register the MBeanFactory Make sure all the objects registered are unregistered
Modified: tomcat/trunk/java/org/apache/catalina/core/StandardServer.java Modified: tomcat/trunk/java/org/apache/catalina/core/StandardServer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardServer.java?rev=940284&r1=940283&r2=940284&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/StandardServer.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardServer.java Sun May 2 18:13:34 2010 @@ -42,6 +42,7 @@ import org.apache.catalina.LifecycleStat import org.apache.catalina.Server; import org.apache.catalina.Service; import org.apache.catalina.deploy.NamingResources; +import org.apache.catalina.mbeans.MBeanFactory; import org.apache.catalina.util.LifecycleBase; import org.apache.tomcat.util.res.StringManager; import org.apache.catalina.util.ServerInfo; @@ -689,14 +690,24 @@ public final class StandardServer extend // present in the JVM (may happen when embedding) then the same cache // will be registered under multiple names try { - ObjectName oname2 = + onameStringCache = new ObjectName(oname.getDomain() + ":type=StringCache"); Registry.getRegistry(null, null) - .registerComponent(new StringCache(), oname2, null ); + .registerComponent(new StringCache(), onameStringCache, null); } catch (Exception e) { log.error("Error registering ",e); } + // Register the MBeanFactory + try { + onameMBeanFactory = + new ObjectName(oname.getDomain() + ":type=MBeanFactory"); + Registry.getRegistry(null, null) + .registerComponent(new MBeanFactory(), onameMBeanFactory, null); + } catch (Exception e) { + log.error("Error registering ",e); + } + // Initialize our defined Services for (int i = 0; i < services.length; i++) { services[i].init(); @@ -705,13 +716,22 @@ public final class StandardServer extend @Override protected void destroyInternal() { - // NOOP + Registry registry = Registry.getRegistry(null, null); + + if (onameStringCache != null) { + registry.unregisterComponent(onameStringCache); + } + if (onameMBeanFactory != null) { + registry.unregisterComponent(onameMBeanFactory); + } } protected volatile String domain; protected volatile ObjectName oname; protected MBeanServer mserver; - + private ObjectName onameStringCache; + private ObjectName onameMBeanFactory; + /** * Obtain the MBean domain for this server. The domain is obtained using * the following search order: --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org