运行独立时,JMX不适用于Spring启动应用程序

时间:2015-03-17 09:35:07

标签: java spring spring-boot jmx

我有一个带有嵌入式Jetty的spring boot应用程序,需要使用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既不返回端口9010也不返回端口9011,我无法通过jconsole连接。

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

1 个答案:

答案 0 :(得分:1)

尝试以下参数。

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