使用以下选项启动
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