当 运行 独立时,JMX 不适用于 spring 引导应用程序

JMX not available for spring boot application when running standalone

我有一个带有嵌入式 Jetty 的 spring 引导应用程序,需要使用 JMX 监控该应用程序。

只要我在 windows 开发环境中启动应用程序,我就可以使用 jconsole 访问 JMX 信息(JConsole 提供了自己连接的过程) 但是一旦 运行 应用程序作为具有以下参数的可执行 jar,端口将不可用并且我无法连接 jconsole

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9010
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.local.only=false 
-Djava.rmi.server.hostname=[server ip] 
-Djava.rmi.activation.port=9011

netstat -tulpn return 端口 9010 和端口 9011 都没有,我无法通过 jconsole 连接。

MBean 等可用,因为我使用 jolikai 将 JMX 信息公开为 JSON,它工作正常但不适合我们的监视基础结构。

尝试以下参数。

set JMX_OPTIONS=-Dcom.sun.management.jmxremote.port=8014 
set JMX_OPTIONS= %JMX_OPTIONS% -Dcom.sun.management.jmxremote.ssl=false 
set JMX_OPTIONS= %JMX_OPTIONS%-Dcom.sun.management.jmxremote.authenticate=false 
set JMX_OPTIONS= %JMX_OPTIONS%-Dcom.sun.management.jmxremote.localConnectorAddress=10.250.0.10