You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ActiveMQ 5.12.1关闭时出现Failed to retrieve RMIServer stub错误求助

ActiveMQ 5.12.1 关闭时报JMX连接错误的原因与解决方法

错误原因解析

这个错误的核心是ActiveMQ的stop脚本尝试通过JMX(Java管理扩展)连接到运行中的进程发送关闭指令,但无法在RMI注册中心找到名为jmxrmi的服务,导致连接失败。常见诱因包括:

  • JMX配置被意外修改,未开启JMX连接器
  • 默认JMX端口(1099)被其他进程占用
  • ActiveMQ启动时JMX服务未正常初始化
  • stop脚本无法自动解析正确的JMX URL
  • 执行stop脚本的用户权限不足,无法访问JMX相关资源

解决方法

1. 检查并修复JMX配置

打开conf/activemq.xml,确认<managementContext>节点配置正确,确保开启JMX连接器并指定正确端口:

<managementContext>
    <managementContext createConnector="true" connectorPort="1099"/>
</managementContext>

修改后重启ActiveMQ,再尝试执行关闭命令。

2. 验证JMX端口监听状态

用命令检查1099端口是否被ActiveMQ进程占用:

netstat -tulpn | grep 1099

如果端口被其他进程占用,要么停止占用进程,要么修改activemq.xml中的connectorPort为未被占用的端口,重启后再试。

3. 手动指定JMX URL执行关闭

如果stop脚本自动解析JMX URL失败,手动指定正确的URL执行关闭:

./activemq stop --jmxurl service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi

如果ActiveMQ绑定了特定IP,将localhost替换为实际IP地址。

4. 应急强制关闭(谨慎使用)

如果上述方法都无效,可直接通过PID终止进程:

kill 11546

⚠️ 注意:强制关闭可能导致未持久化的消息丢失,仅作为临时应急方案使用,之后务必排查根本问题。

5. 检查权限设置

  • 确保运行ActiveMQ的用户和执行stop脚本的用户为同一用户,或拥有相同权限组
  • 检查data/目录及子文件的读写权限,确保执行stop脚本的用户能访问JMX相关资源

内容的提问来源于stack exchange,提问作者MARVEL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 20:01:06