当使用具有临时端口的JMX服务器时,如何获取服务器端口号?

11

当使用这些选项启动Java应用程序时:

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port=0
-Dcom.sun.management.jmxremote.local.only=false

Java使用临时端口,这非常有用以避免冲突。

有没有可能在应用程序内以编程方式获取实际端口(或连接URL)?

1个回答

7
    String url = sun.management.ConnectorAddressLink.importRemoteFrom(0)
            .get("sun.management.JMXConnectorServer.0.remoteAddress");
    System.out.println(url);

这将打印类似于URL的内容。
service:jmx:rmi:///jndi/rmi://hostname:57025/jmxrmi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接