gpt4 book ai didi

java - ActiveMQ - 无法回滚非事务 session INVIDUAL_ACK

转载 作者:行者123 更新时间:2023-11-30 05:39:28 25 4
gpt4 key购买 nike

ActiveMQ 中是否可以回滚异步处理的消息?我正在使用下一条消息,而第一条消息仍在处理中,因此当我尝试在另一个(不是 activemq 池)线程上回滚第一条消息时,我遇到了上述错误。最终我应该手动向 DLQ 发送消息吗?

最佳答案

消息错误处理可以通过多种方式进行:

  1. 经纪商方“再次交付政策”。客户端调用回滚 n 次(默认通常是 6 次重试),代理会自动将消息移至死信队列 (DLQ)
  2. 客户端。应用程序消费消息,然后生成到 DLQ。

选项 #1 适用于计划外/计划内中断 - 数据库关闭等您想要自动重试的情况。还可以在客户端连接到代理时配置重新传送策略。

选项 #2 适用于您知道消息永远无法被处理的“坏数据”场景。这是理想的,因为您可以在第一次消费时移动消息,而不必拒绝消息 n 次。

当您将无限重试与#1 结合起来并在应用程序流程中包含#2 时,您可以拥有强大的自动重试流程,并快速移出不良数据。最佳品种 =)

ActiveMQ Redelivery policy

关于java - ActiveMQ - 无法回滚非事务 session INVIDUAL_ACK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55958147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com