对于java应用,当启用jmx并且端口设置为0时,会动态分配一个端口:
-Dcom.sun.management.jmxremote.port=0
找出分配的端口的最佳方法是什么?我设法在 Solaris 上使用 ps 和 pfiles 找到它,希望有一个更简单的原因来找到它(以编程方式)
还有更好的方法可以将动态 jmx 端口分配给同一个盒子上的 java 应用程序并跟踪它们吗?
最佳答案
这个问题得到了回答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);
关于java - 如何在端口为 0 时查找动态分配的 JMX 端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18406689/