使用具有临时端口的 JMX 服务器时,如何获取服务器端口号?
When using a JMX server with ephemeral port, how to get the server port number?
使用这些选项启动 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)?
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
使用这些选项启动 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)?
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