首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过JConsole实现多目标监控

通过JConsole实现多目标监控
EN

Stack Overflow用户
提问于 2013-03-26 19:07:22
回答 1查看 187关注 0票数 0

我正在尝试通过JConsole中的JMX来监控我的应用程序的对象。但在JConsole中,我无法看到同一个类的多个对象。下面是我的代码:

代码语言:javascript
复制
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的信息。请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2013-03-26 20:26:43

我会将type=更改为name=。如果您查看ObjectName javadocs,您会发现它们的所有示例都有name=,我相信这就是jconsole用来显示bean的地方。可能您有两个bean,它们的名称基本上都是空的,并且它们正在互相覆盖。它可能使用对象的类作为名称。

代码语言:javascript
复制
new ObjectName("org.javalobby.tnt.jmx:name=ApplicationCacheMBean1");
new ObjectName("org.javalobby.tnt.jmx:name=ApplicationCacheMBean2");

如果您在Jconsole中拉出它并单击bean名称,它应该会显示它正在使用的ObjectName。您可能会在那里看到一个推断的名称。

顺便说一下,我的SimpleJMX package强制创建ObjectName的问题:

代码语言:javascript
复制
@JmxResource(domainName = "j256", beanName = "LookupCache")
public class LookupCache {

这将创建ObjectNamej256:name=LookupCache

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15635511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档