Spring AMQP - return 消息回到队列的开头

Spring AMQP - return the message back to the beginning of the queue

我想知道是否有任何方法可以将消息 return 返回到其在队列中的原始位置。例如,假设我们有这样的顺序:

A-B-C-D 其中 A 是头部,D 是尾部。通常,当我们将 nackrejectrequeue=true 一起使用时,它只是将消息排在当前尾部之后。在这种情况下,当 A 重新排队时,新的排序变为 B-C-D-A。但是,我想知道是否有任何方法可以排到队列的开头。因此,如果 A 是 "sent back",它将被放置在队列的开头,在其原始位置。

我使用 Spring AMQP 搜索解决方案。

您需要将预取 (qos) 设置为 1。否则任何预取消息都将在 A 重新传递之前传递。

但是,它会影响性能。