启用了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 javaProto 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