对于一个以恒定间隔执行操作的简单 Java 库,我使用 MXBeans 实现了 JMX 管理,它按预期工作,我可以在 JConsole 中查询状态和设置参数、暂停/恢复操作等。
现在我想创建一个 Web 应用程序 - 来显示和控制图书馆的操作。
我不知道在 Web 应用程序中也使用相同的 JMX API 是否是个好主意,所以我需要一种方法来访问使用平台 MBean 服务器在同一 VM 中注册的 MXBeans:
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
我注意到 MBeanServer 有一个 queryMBeans 方法。我应该使用这种方法来访问已注册的 JMX API MXBeans 吗?有一个不同的路径,使用 JMXConnectorFactory,它需要协议(protocol)、主机和端口信息,以便客户端可以访问远程 JMX 服务器。
最佳答案
如果您只想访问同一个 JVM 中的 MBeanServer,那么 ManagementFactory.getPlatformMBeanServer();
是实现它的方法。
JMXConnectorFactory
用于访问远程 MBeanServer(即在不同的 JVM 和/或不同的主机上)。
关于java - 我应该如何访问在同一 VM 中运行的 JMX MBeanServer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4890650/