如何让我的AMQP 1.0使用者跟踪已使用ActiveMQ消耗的消息

时间:2014-12-26 19:18:37

标签: activemq amqp qpid

我正在使用ActiveMQ AMQP代理,每次运行我的消费者时,我都会收到队列中的所有消息。这很好,但我需要一种方法来限制我读取的消息,这是基于我之前运行我的消费者时尚未读过的消息。我的意思是,我只想看到新消息。有没有办法向ActiveMQ代理发送偏移量或向它发送某种唯一标识符,以便它知道我已经消耗了什么,它只发送给我更新的内容?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

在阅读时,您并不应该在代理中保留数据。 ActiveMQ是临时存储,而不是数据库。有目的地保留旧数据会产生多重影响 - 特别是在使用持久性消息的持久性存储中。

我猜你没有采访/提交交易或浏览队列。如果您在阅读完消息后提交了该消息,那么它们将被删除,并且在您下次尝试读取队列时不会出现。