我想在 ActiveMQ 中设置重新投递策略。我已将重试尝试设置为 3 次,之后该消息应发送到死信队列。但是我注意到,虽然处理消息的 3 次尝试(发生异常时)被处理了多次。为什么?第一次处理 - 消息被处理 13 次(1 次常规处理和 12 次逐个重新处理)(每次都会发生异常,因此最终将消息发送回队列 - 在第 13 次结束时)第二次处理 - 消息被处理 5 次第三次 - 消息被重新处理 4 次为什么要进行额外的再处理?我认为当消息被发送回队列时,我的侦听器应该收到此消息并再次尝试仅处理此消息一次。哪个参数负责此重新处理?
1 回答

眼眸繁星
TA贡献1873条经验 获得超9个赞
您很可能需要添加jms.redeliveryPolicy.maximumRedeliveries=0
到连接 URI。默认情况下,ActiveMQ 客户端在客户端重试。这一切都很好,但是如果您已将代理配置为处理重试,您通常不希望客户端也这样做。只需添加选项。有关选项本身,请参阅http://activemq.apache.org/redelivery-policy.html。
添加回答
举报
0/150
提交
取消