我在让远程 JMX 在 JBoss 4.2.0,EAP 版本下工作时遇到了一些问题。我的应用程序中有一些 Java OOM 错误,我正在尝试专门设置它以针对它运行 VisualVM。
JBoss 针对 JDK 1.5 运行
我试图通过在启动时将以下内容添加到我的 JAVA_OPTS 来使其正常工作(为了便于阅读,此处使用换行符):
-Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl
-Djboss.platform.mbeanserver
-Dcom.sun.management.jmxremote.port=6789
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
当我启动 JBoss 时,我在 boot.log 中看到指示 JMX 在端口 6789 上启用并且 auth 和 ssl 设置为 false 的条目。但是,netstat 没有显示在端口 6789 上侦听的任何内容,并且我无法获得到该端口的 telnet 连接。毫不奇怪,VisualVM 也无法连接(本地和远程运行)。
JBoss 附带的默认 /jmx-console 上下文似乎可以正常加载,如果这很重要的话。
我在这里缺少什么吗?是后来添加了远程 JMX 支持还是什么?
编辑:我忘了提到 JBoss 正在使用 SSL 连接器运行,因此例如我通过https://localhost:8888/jmx-console 访问 jmx-console。也许这对 JMX 连接有影响?