我正在调用:
GetResponse response = channel.basicGet("some.queue", false); // no auto-ack
....
channel.basicAck(deliveryTag, ...);
但是,当我调用 时basicGet
,队列中的消息停留在“就绪”状态,而不是“未确认”状态。我希望它们处于未确认状态,以便我可以要么basic.ack
它们(从而将它们从队列中丢弃),要么basic.nack
它们
我正在调用:
GetResponse response = channel.basicGet("some.queue", false); // no auto-ack
....
channel.basicAck(deliveryTag, ...);
但是,当我调用 时basicGet
,队列中的消息停留在“就绪”状态,而不是“未确认”状态。我希望它们处于未确认状态,以便我可以要么basic.ack
它们(从而将它们从队列中丢弃),要么basic.nack
它们
我正在执行以下操作来模仿延迟 ack:
.getBody()
)。当它工作正常ack
后立即执行get
。但是,就我而言,它们是由请求分开的。Spring 的模板在每次执行时都会关闭通道和连接。所以有三种选择:
在前两种情况下,你不能用spring的RabbitTemplate