0
我想通过JConsole中的JMX监视我的应用程序的对象。但在JConsole中,我无法看到同一个类的多个对象。 这里是我的代码:通过JConsole的多对象监视器
ApplicationCache cache1 = new ApplicationCache();
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
ObjectName name = new ObjectName("org.javalobby.tnt.jmx:type=ApplicationCacheMBean1");
mbs.registerMBean(cache1, name);
imitateActivity(cache1);
ApplicationCache cache2 = new ApplicationCache();
mbs = ManagementFactory.getPlatformMBeanServer();
ObjectName name2 = new ObjectName("org.javalobby.tnt.jmx:type=ApplicationCacheMBean2");
mbs.registerMBean(cache2, name2);
imitateActivity(cache2);
在JConsole UI,我能够看到的只有ApplicationCacheMBean1
的信息。没有关于ApplicationCacheMBean2
的信息。请帮忙。
确定 “immitateActivity()” 方法是异步的?您的应用程序不会停留在那里,并且不会继续进行第二个MBean的注册? 顺便说一下,您不需要通过ManagementFactory.getPlatformMBeanServer()重新检索MBeanServer。平台MBean服务器实际上是一个单例,并且不会及时更改。 – 2013-04-04 13:11:45