ActiveMQ队列可以使用重试进程,能够检查队列中原始消息的任何状态更改

时间:2015-06-30 04:07:27

标签: apache-camel activemq

我正在使用ActiveMQ队列并通过Camel + JMS Transaction消费它。在系统故障时,使用" DeadLetterChannel"激活重试过程。吼叫。

<camel:errorHandler id="deadLetterErrorHandler" type="DeadLetterChannel" deadLetterUri="activemq:ActiveMQ.DLQ">
    <!-- delayPattern = 5s;1m;5m;1h;5h;10h;20h = 36h -->
    <camel:redeliveryPolicy maximumRedeliveries="7" delayPattern="1:5000;2:60000;3:300000;4:3600000;5:18000000;6:36000000;7:72000000" />
</camel:errorHandler>

在我调查的测试中,重试过程不考虑队列上的原始消息状态(例如:由于事件而删除原始消息)。即使经纪人下台,重试过程仍在继续。

一般情况下,原始邮件不会更改,但可能会因特殊情况而更改。在这种情况下,我是否可以检查原始邮件状态(如可用性)并停止重试过程?有没有直接的选择呢?

我提到了一些文档,但我找不到解决方案。

0 个答案:

没有答案