我应该如何访问在同一个VM中运行的JMX MBeanServer?

时间:2011-02-03 19:22:24

标签: java web-applications jmx mbeans

对于以恒定间隔执行操作的简单Java库,我使用MXBeans实现了JMX管理,它按预期工作,我可以在JConsole中查询状态和设置参数,提升/恢复操作等。

现在我想创建一个Web应用程序 - 显示和控制库操作。

我不知道在Web应用程序中使用samy JMX API是个好主意,因此我需要一种方法来访问使用平台MBean Server在同一VM中注册的MXBeans:

MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();

我注意到MBeanServer有一个queryMBeans方法。我应该使用此方法来访问已注册的JMX API MXBeans吗?使用JMXConnectorFactory有一个不同的路径,它需要协议,主机和端口信息,以便客户端可以访问远程JMX服务器。

1 个答案:

答案 0 :(得分:12)

如果您只想访问同一JVM中的MBeanServer,那么ManagementFactory.getPlatformMBeanServer();就是这样做的。

JMXConnectorFactory用于访问远程MBeanServers(即在不同的JVM和/或不同的主机上)。