当JMX客户端连接时,启用了JMX的Java应用程序似乎会打开一个随机的高阶端口。

9

JMX启用的Java应用程序在JMX客户端连接时似乎会打开随机高序端口

我已成功配置了一个Hello World JMX启用程序,并且我可以使用远程位置的jconsole JMX客户端连接到它。

当我尝试打开iptables时,我注意到客户端登录时会建立一个随机高序端口。最终,我想在防火墙隔离的网络段中监视Java应用程序。我们能控制随机端口打开的范围吗?

如果需要,我可以将此问题移至serverfault.com。


1
端口是在客户端还是服务器上建立的?如果在客户端上,我想这应该是客户端端口绑定到服务器端口... - home
你提出了一个有趣的问题。JMX客户端通过服务器定义的端口连接到JMX服务器。之后,另一个(随机?)端口打开并用于通信。 - user221014
所以这个端口在客户端还是服务器上? - home
这个随机端口在托管JMX应用程序(服务器)的服务器上打开。 - user221014
5个回答

7

自从Java 7u25版本以后,可以通过系统属性来改变RMI端口:

-Dcom.sun.management.jmxremote.rmi.port=1234

请参阅此答案以获取详细信息。

4

我也觉得这篇博客文章很有帮助 http://blogs.oracle.com/jmxetc/entry/connecting_through_firewall_using_jmx - user221014

0

一个解决方法是将RMI端口设置为与JMX端口相同; 然后只需要在防火墙上打开一个端口。

例如:

-Dcom.sun.management.jmxremote.port=8989
-Dcom.sun.management.jmxremote.rmi.port=8989

请参见为什么配置JMX时Java会打开3个端口?


0

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接