繁体   English   中英

如何在完成后使ActiveMQ / Camel从队列中删除当前消息?

[英]How can I make ActiveMQ/Camel remove the current message from the queue AFTER completion?

我有一个Camel路由,它从activeMQ队列中消耗。 现在,当Camel路由处理消息时,消息将从队列中删除。

我想要的是,它保留在队列中,直到我的路由完成并且消息被转发到另一个队列,以阻止消息在我的Camel崩溃时消失。

此时,如果Camel在处理消息时崩溃,则队列中的消息将永远丢失。

我怎样才能做到这一点?

添加acknowledgementModeName=CLIENT_ACKNOWLEDGE使Camel仅在路由成功完成时删除消息:

from("activemq:some.queue.name?acknowledgementModeName=CLIENT_ACKNOWLEDGE")

Camel还锁定这些消息以防止其他Camel实例或线程处理相同的消息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM