我想远程监控我在 tomcat 中运行的应用程序,所以我在 setenv.sh 文件中配置了 JMX 远程连接。
以下是我的配置。
CATALINA_OPTS="
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=<jmx_port>
-Dcom.sun.management.jmxremote.rmi.port=<jmx_port>
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=<my_host_ip>".
注意:这仅用于测试。我不介意在我的配置中禁用 ssl 和 authenticate = false。
我能够使用在本地计算机上运行的 visualmv 连接到它。当我尝试重新启动 tomcat 时,问题开始了。在关闭过程中,tomcat 成功关闭,但运行 jmx 的端口仍处于 Activity 状态并且可供 JMX 使用。所以在 tomcat 启动时,它提示 already in use 因此 tomcat 启动失败。
如有任何帮助,我们将不胜感激。
最佳答案
您是否为 jmxremote.port 和 jmxremote.rmi.port 使用相同的端口?如果是这样,他们需要有所不同。一个是服务监听器,另一个是 rmi 注册表。
关于java - 启用jmx远程连接后无法重启tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52025058/