10

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

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

我不知道在 Web 应用程序中使用 samy JMX API 是否是个好主意,所以我需要一种方法来访问使用平台 MBean 服务器在同一 VM 中注册的 MXBean:

MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();

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

4

1 回答 1

15

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

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

于 2011-02-03T19:29:06.733 回答