我对 JMX 和服务器有点菜鸟...我有一个多节点配置(基本上是 2 个节点),我正在这两个节点的 MBeanServer 上创建和注册 MBean。问题是我的 2 个 Tomcat 服务器的 MBeanServer 是不同的,而我想要一个全局 JMX 服务器,这样我就可以立即看到所有 MBean。
对于主节点,我已将这些选项添加到 JVM 设置中:
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=5675
-Dcom.sun.management.jmxremote.ssl=false
但是如果我对第二个节点使用相同的设置,它会告诉我该端口已在使用中,这是正常的。如果我不使用任何此类设置,它只会创建自己的服务器。顺便说一句,我正在使用 ManagementFactory.getPlatformMBeanServer()
获取 MBeanServer 引用
我是否应该通过另一种方式连接到最初创建的服务器?
谢谢, 泰奥
最佳答案
MBeanServer
只是一堆 RMI 方法的奇特名称。它基本上是一个 JVM 附加组件,而不是一个独立的服务器或进程。如果您有两个不同的 JVM,那么您就有两个 MBeanServer
,就这样。如果您想使用 JMX 监视两者,则需要某种管理控制台/代理来连接到两个 MBeanServer
并从它们收集数据。
关于tomcat - 如何从 2 个 Tomcat 内访问同一个 JMX MBean 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9584471/