繁体   English   中英

如何在ActiveMQ队列中检索较旧的消息

[英]How to retrieve older messages in ActiveMQ queue

Iam在ActiveMQ应用程序上工作,其中IAM使用使用Session.CLIENT_ACKNOWLEDGE的使用者。

我将从消费者中从队列接收的消息发送到Web服务。假设我不做message.acknowledge(),则所有发送到Web服务的消息都以排队状态返回队列。

我的问题是如何再次从队列中检索消息并使用它。我使用retroactive = true并尝试重新交付,但所有这些都失败了。

如何避免这种情况。

如果您使用message.acknowledge()所有消费消息在同一队列中将不再可用,因为它们被视为已传递!

您能否解释一下为什么需要再次使用已经消耗的消息。 追溯适用于处于脱机状态且在开始连接时接收连接之前发送的消息的使用者。

在这种情况下,您需要将使用方的预取策略设置为400。 您可以阅读以了解概念http://activemq.apache.org/what-is-the-prefetch-limit-for.html

如果要使用计数器一一处理消息,则需要将预取设置为1,并在处理200时确认每个消息,但您不承认。

暂无
暂无

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

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