我正在调用:
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