在Rabbitmq中收到消息后,如果出现错误,为什么消息不会在队列中删除

时间:2020-07-27 13:52:15

标签: java rabbitmq

我正在研究Rabbitmq。我是这个话题的新手。我有一个成功的发送者和接收者。我对此没有任何问题,但是我注意到,如果代码消息失败并停留在队列中。

如果我详细解释,当我从队列中获取消息时,应该删除该消息。是否有失败应该没有关系。因为队列无法告知此消息是否成功处理。队列传递正确吗?因此,地狱队列如何理解程序中代码失败并保留消息。 :D 所以我一次又一次收到消息。

如果你们能帮助我了解Rabbitmq的基础知识。我会很高兴。谢谢你:D

1 个答案:

答案 0 :(得分:1)

消息会一直保留在队列中,直到被确认为止。如果在确认消息之前发送消息的连接失败,则不会删除该消息,并且稍后会重新发送该消息。

您可能需要激活automatic acknowledgement