允许立即启用JMX监视重新启动Java应用程序

Geo*_*rge 11 java jmx shutdown restart reusability

我有一个启用了JMX监控的Java应用程序,如下所示:

-Dcom.sun.management.jmxremote.port=9999 \
// some other properties omitted
Run Code Online (Sandbox Code Playgroud)

但是当我尝试重新启动应用程序时,有时我收到错误说JMX端口号已经在使用中.这是不可接受的.

所以我想为底层套接字设置SO_REUSEADDR为true以避免此错误,但没有找到相关的JMX属性.

任何的想法?

Fox*_*Fox 6

恐怕你不能从命令行那样做.

您将需要创建一个RMIServerSocketFactory,其产生ServerSockets需要的选项(SO_REUSEADDR).

文档:http://docs.oracle.com/javase/8/docs/technotes/guides/rmi/socketfactory/

其他人解决了同样的问题:https: //svn.apache.org/viewvc?view =revision&revision = r1596579