重新签名已接受的消息

时间:2016-08-29 20:02:30

标签: java rabbitmq message-queue spring-amqp spring-rabbit

我有一条消息在队列中,但是,当消息被成功触发时,我不想从队列中删除消息。我希望将信息保留在那里,在另一个时间重新触发,是否有人知道如何配置rabbitMQ?

2 个答案:

答案 0 :(得分:2)

您无法做到这一点,但您可以向交换机添加第二个队列并将消息路由到这两个队列。然后,您可以稍后使用。

或者,当然,您的消费应用程序可以重新发布到相同或另一个队列。

答案 1 :(得分:0)

你可以做的是有一个死信队列的概念。消息读取成功后,您可以将该消息移动到死信队列。

这是您有时可以稍后处理该消息的唯一方法。或者,如果您想将消息保留在同一队列中,那么您可以执行类似已完成的操作确认消息并让它在那里,但这样您最终可能会阻止队列。

因此使用死信队列解决了这个问题,但死信队列的目的通常是当它们卡在队列中时将消息移动到它。