如何在端口为0时查找动态分配的JMX端口

时间:2013-08-23 15:35:23

标签: java jmx

对于java应用程序,当启用jmx且端口设置为0时,将动态分配端口:

-Dcom.sun.management.jmxremote.port=0

找出分配的端口的最佳方法是什么?我设法在Solaris上使用ps和pfiles找到它,希望有一个更简单的原因可以找到它(以编程方式)

还有一种更好的方法可以将动态jmx端口分配给同一个盒子上的Java应用程序并跟踪它们吗?

1 个答案:

答案 0 :(得分:1)

此问题的回答here

String url = sun.management.ConnectorAddressLink.importRemoteFrom(0)
        .get("sun.management.JMXConnectorServer.0.remoteAddress");
String portStr = url.substring(url.lastIndexOf(":") + 1, url.lastIndexOf("/jmxrmi"));      
int port = Integer.valueOf(portStr);
System.out.println(port);