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

ActiveMQ Artemis控制台无法查看未消费消息及消息计数问题咨询

解决ActiveMQ控制台队列消息计数与内容查看问题

一、查看准确的消息累积计数

  • 进入队列详情页:在控制台的Queues列表中,点击目标队列的名称进入详情视图,这里会展示最精准的统计数据:
    • Pending Messages:当前队列中等待消费的累积消息数
    • Enqueued:队列的总入队消息数
    • In Flight:已投递但未被消费者确认的消息数
  • 用JMX工具校验:通过JConsole或VisualVM连接ActiveMQ的JMX端口(默认1099),定位到org.apache.activemq > Queue > [你的队列名]节点,查看QueueSize属性,这是最权威的待处理消息数。
  • 命令行快速查询:执行activemq browse <队列名称>(Windows)或./activemq browse <队列名称>(Linux/Mac),直接输出队列的消息数量及基础信息。

二、查看队列中的消息内容

  • 控制台Browse功能:在队列详情页顶部点击「Browse」按钮,即可列出队列内所有消息;点击消息ID可查看完整内容,包括消息头、自定义属性和消息体(payload)。
  • 命令行查看原始内容:执行activemq browse --format raw <队列名称>,输出消息的原始格式;若需要取出消息查看,可使用activemq get <队列名称>(注意:该操作会将消息从队列移除,建议在测试环境或备份后执行)。
  • JMX工具调用:在JMX的队列节点中,调用browse()方法,可获取消息列表并查看具体内容。

三、排查控制台计数显示异常的可能原因

  • 刷新页面缓存:控制台可能因浏览器缓存显示旧数据,按Ctrl+F5强制刷新或清理浏览器缓存后重试。
  • 检查队列类型:若使用虚拟队列、复合队列,控制台列表可能仅展示子队列的计数,需查看父队列的详情页获取总累积数。
  • 确认消息状态:如果消息已被Telegraph Listener获取但未发送确认(ACK),会处于In Flight状态,不计入Pending Messages,此时查看详情页的In Flight数值是否匹配你所说的20-30条。
  • 升级ActiveMQ版本:部分旧版本存在控制台统计显示bug,升级至5.16.x及以上的稳定版本可解决此类问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 23:55:17