gpt4 book ai didi

java - 配置jmxremote时无法正常停止tomcat

转载 作者:搜寻专家 更新时间:2023-10-31 19:57:47 27 4
gpt4 key购买 nike

我在 catalina.bat 中添加了一个 jmxremote 配置:

set JAVA_OPTS=-Dcom.sun.management.jmxremote.port=9004 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

这样我就可以启动 jconsole 来监控 tomcat 的性能。

但是我遇到了一个问题,我无法通过$CATALINA_HOME\catalina.bat stop正常停止tomcat,$CATALINA_HOME\shutdown.bat也没有

有什么建议吗?

最佳答案

为了监控java进程,需要在命令行中添加如下系统属性:

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false

在 visualvm 中,您只需使用连接字符串 host:9999。

但是,有时 RMI 监听器会监听错误的 IP 地址,这是 visualvm 无法访问的。感谢 Pavel 的提示,我找到了一种克服此问题的方法,即添加以下参数:

-Djava.rmi.server.hostname=$(hostname)
-Djava.rmi.server.useLocalHostname=true

现在它就像一个魅力!

为了完整起见,我要提到您可以通过要求用户名/密码或使用 SSL 来保护与 JVM 的连接。有兴趣的请看this guide .

确保将定义放在只有启动命令可以看到的地方,而不是关闭命令。原因或这个是jmx remote创建了一个监听套接字,如果配置不当,关机会监听同一个端口。

关于java - 配置jmxremote时无法正常停止tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8199630/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com