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

Apache ActiveMQ Artemis消息丢失场景下journal记录分析咨询

现有journal条目可推断的信息

你提供的第一条journal记录已经确认你关注的recordID=1094612593的消息已经成功写入broker的持久化日志:

  • 消息为持久化类型,无过期时间,写入事务ID为1094612560,投递目标地址为===myQueue===,用户自定义消息ID为aa844c3f-1c6e-11ec-840c-005056be4b8b,写入时间为2021年9月23日16:03:37(EEST时区)

你后续提供的三条journal记录对应的recordID=1094612663和你关注的丢失消息不是同一条,这三条记录仅能说明另一条消息已经完成了添加队列引用→消费者确认ACK→日志删除的完整生命周期,和本次消息丢失事件无直接关联。

后续排查方向

你可以按照如下步骤推进排查:

  • 检索全部journal记录中所有包含recordID=1094612593的条目,确认这条消息后续是否存在AddRef(添加队列引用)、ACK(消费者确认)、DeleteRecord(日志删除)、事务回滚、消息过期、移入死信队列的相关操作记录
  • 核查写入事务txID=1094612560的最终状态:如果该事务最终没有提交,这条消息不会被投递给消费者,会被broker自动清理
  • 确认地址===myQueue===对应的队列ID是否为7,排查是否存在路由规则配置错误,导致消息被转发到其他地址/队列,而非你预期的消费队列
  • 检查消费端配置:是否开启了自动ACK,若消费端收到消息后业务处理异常但无重试逻辑,会出现消息未正常处理但已向broker发送ACK,消息被broker删除的情况
  • 核查broker死信队列配置:如果消费重试次数超过配置上限,消息会被移入死信队列,你可以直接检索死信队列中是否存在用户消息ID为aa844c3f-1c6e-11ec-840c-005056be4b8b的记录
  • 排查broker的地址/队列权限配置、消息过滤规则,确认是否存在消息被拦截的情况

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 03:06:03