JMX端口动态分配

我有16个Java进程,在一台机器上运行相同的主方法和参数。 我希望通过JConsole远程监控这些。

-Dcom.sun.management.jmxremote.port=5000这样的硬编码端口号将无法工作,因为这些进程使用相同的配置,并且无法使用相同的端口。

JVM是否可以为16个进程中的每个进程动态选择不同的端口?

使用RMI Connector可能就像指定代理的URL一样。

如果您需要它,您可以使用以下命令以编程方式创建RMI注册表:

 java.rmi.registry.LocateRegistry.createRegistry(port); 

您可能会发现以下不相关的示例非常有用: 使用JMX连接防火墙

我不认为 oracle jvm支持这样的东西。 唯一可行的是使用端口“0”,它可以在一些rmi相关的东西中启用“动态”端口选择。