0

我正在处理一个 J2EE 项目,我的目标是在应用程序服务器(Glassfish 3.1.2)中监视/配置 Web 应用程序。为此,我希望使用 Mbeans。我注册了我的 MBean,如下所示,

MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); 
UsageMonitor UsagemBean = new UsageMonitor(0,0,0,0);
ObjectName name = new ObjectName("com.journaldev.jmx:type=UsageMonitor");                  
mbs.registerMBean(UsagemBean, name);

此 MBean 可以使用 JConsole 进行监控(运行良好没有问题)。*如何从另一个 java 类访问这个注册的 MBean?*以下是我用来从它工作的不同类访问 MBean "java.lang:type=Memory" 的方式。而且,如果有人可以提供有关如何从 JOLOKIA 访问 MBean 的想法,那将是一个很大的帮助。谢谢你!。

 J4pClient j4pClient = new J4pClient("http://localhost:8080/jolokia");
 J4pReadRequest req = new J4pReadRequest("java.lang:type=Memory”,  "HeapMemoryUsage");
 req.setPath("used");
 J4pReadResponse resp = j4pClient.execute(req);
 System.out.println(resp.getValue());
4

1 回答 1

0

检查“localhost:7001/jolokia/list”中是否包含您的 mbean。如果不是,您注册 mbean 的方式不正确。

你可以参考下面的教程。您注册和创建 mbean 的方式可能有问题。 看一下这个

于 2013-11-25T08:57:15.277 回答