368240: updated mbean container to use managed aggregate semantics

This commit is contained in:
Greg Wilkins 2012-01-12 12:25:44 +11:00
parent 47930de989
commit de418bc0e4
4 changed files with 11 additions and 25 deletions

View File

@ -50,10 +50,10 @@ public class LikeJettyXml
// Setup JMX // Setup JMX
MBeanContainer mbContainer=new MBeanContainer(ManagementFactory.getPlatformMBeanServer()); MBeanContainer mbContainer=new MBeanContainer(ManagementFactory.getPlatformMBeanServer());
mbContainer.start();
server.getContainer().addEventListener(mbContainer); server.getContainer().addEventListener(mbContainer);
server.addBean(mbContainer); server.addBean(mbContainer,true);
mbContainer.addBean(Log.getRootLogger()); mbContainer.addBean(Log.getRootLogger());
// Setup Threadpool // Setup Threadpool
QueuedThreadPool threadPool = new QueuedThreadPool(); QueuedThreadPool threadPool = new QueuedThreadPool();

View File

@ -33,10 +33,10 @@ public class ManyServletContexts
// Setup JMX // Setup JMX
MBeanContainer mbContainer=new MBeanContainer(ManagementFactory.getPlatformMBeanServer()); MBeanContainer mbContainer=new MBeanContainer(ManagementFactory.getPlatformMBeanServer());
mbContainer.start();
server.getContainer().addEventListener(mbContainer); server.getContainer().addEventListener(mbContainer);
server.addBean(mbContainer); server.addBean(mbContainer,true);
mbContainer.addBean(Log.getLog());
ContextHandlerCollection contexts = new ContextHandlerCollection(); ContextHandlerCollection contexts = new ContextHandlerCollection();
server.setHandler(contexts); server.setHandler(contexts);

View File

@ -30,26 +30,21 @@
<!-- Initialize the Jetty MBean container --> <!-- Initialize the Jetty MBean container -->
<!-- =========================================================== --> <!-- =========================================================== -->
<New id="MBeanContainer" class="org.eclipse.jetty.jmx.MBeanContainer"> <New id="MBeanContainer" class="org.eclipse.jetty.jmx.MBeanContainer">
<Arg> <Arg><Ref id="MBeanServer" /></Arg>
<Ref id="MBeanServer" /> <Call name="start"/>
</Arg>
</New> </New>
<!-- Add to the Server to listen for object events --> <!-- Add to the Server to listen for object events -->
<Get id="Container" name="container"> <Get id="Container" name="container">
<Call name="addEventListener"> <Call name="addEventListener">
<Arg> <Arg><Ref id="MBeanContainer" /></Arg>
<Ref id="MBeanContainer" />
</Arg>
</Call> </Call>
</Get> </Get>
<!-- Add to the Server as a lifecycle --> <!-- Add to the Server as a managed lifecycle -->
<!-- Only do this if you know you will only have a single jetty server -->
<Call name="addBean"> <Call name="addBean">
<Arg> <Arg><Ref id="MBeanContainer"/></Arg>
<Ref id="MBeanContainer" /> <Arg type="boolean">true</Arg>
</Arg>
</Call> </Call>
<!-- Add the static log --> <!-- Add the static log -->

View File

@ -86,15 +86,6 @@ public class MBeanContainer extends AbstractLifeCycle implements Container.Liste
public MBeanContainer(MBeanServer server) public MBeanContainer(MBeanServer server)
{ {
_server = server; _server = server;
try
{
start();
}
catch (Exception e)
{
LOG.ignore(e);
}
} }
/** /**