启用了JMX的Tomcat7会打开2个其他随机监听端口

我在Centos6上使用JDK7运行Tomcat7。我使用以下选项启用JMX:

CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9123 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.local.only=true"

不幸的是,当我检查打开了哪些端口时,我发现了另外两个随机端口:

netstat -plunt | grep java

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 :::60555 :::* LISTEN 22752/java

tcp 0 0 ::ffff:127.0.0.1:8080 :::* LISTEN 22752/java

tcp 0 0 :::9123 :::* LISTEN 22752/java

tcp 0 0 :::40867 :::* LISTEN 22752/java

我猜想JMX应该打开一个额外的[端口,当JMX客户端连接时,启用JMX的Java应用程序似乎会打开一个随机的高阶端口

为什么Tomcat中的JMX打开2个附加端口?

如何配置这些端口?

如果我配置了-Dcom.sun.management.jmxremote.local.only=true其他端口,也只能使用本地访问来访问?

如何配置::ffff:127.0.0.1将在JMX打开的所有端口之前出现?

回答:

您可以使用Tomcat的JMX远程生命周期侦听器,该侦听器可以修复JMX / RMI服务器使用的端口。

JMX远程生命周期侦听器允许配置以下端口:

  • rmiRegistryPortPlatform -JMX / RMI注册表用于平台MBean的端口。应该使用这个代替com.sun.management.jmxremote.port系统属性
  • rmiServerPortPlatform -Platform JMX / RMI服务器要使用的端口。

另外,您可以配置useLocalPorts属性-是否应强制所有使用这些端口的客户端使用本地端口连接到JMX / RMI服务器。

请注意,此侦听器需要catalina-jmx-

remote.jar放置在中$CATALINA_HOME/lib。该jar可以在二进制下载区域的extras目录中找到。

以上是 启用了JMX的Tomcat7会打开2个其他随机监听端口 的全部内容, 来源链接: utcz.com/qa/401355.html

回到顶部