java - 启用jmx远程连接后无法重启tomcat
问题描述
我想远程监控我在 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 的端口仍处于活动状态并且可供 JMX 使用。所以在tomcat启动时,它抱怨已经在使用中,因此tomcat启动失败。
任何帮助将不胜感激。
解决方案
您是否为 jmxremote.port 和 jmxremote.rmi.port 使用相同的端口?如果是这样,它们需要有所不同。一个是服务监听器,另一个是 rmi 注册中心。
推荐阅读
- html - 使用 VSCode 时无法连接到 Chrome 上的 localhost
- amazon-web-services - aws lambda 在从 kinesis 流式传输期间引发内部 lambda 错误
- javascript - 如果我有一个按钮触发 React 中第二个子项中的状态,如何将状态传递给父组件
- c# - 在 C# 中编辑动画 GIF
- python - TypeError:“时间戳”和“布尔”实例之间不支持“<=”
- postgresql - 从单词前缀数组构建 PostgreSQL tsquery 的最简单方法
- r - 使用长标签名称设置标准图例键大小 ggplot
- java - java: 带有命名空间的 xpath 表达式
- build - 在 Ubuntu 18.04 / 20.04 上构建自定义内核时异常大的驱动程序/模块目录
- python - Python webscraping error 403 + urlopen decode problem