Rabbitmq 如何从SimpleMessageListenerContainer中的消息处理程序向队列发送basic.ack

Rabbitmq 如何从SimpleMessageListenerContainer中的消息处理程序向队列发送basic.ack,rabbitmq,spring-amqp,Rabbitmq,Spring Amqp,在RabbitMQ api中,当通道上的auto ack设置为false时,我们可以使用channel.basicAck(…)将确认发送回队列 在春天,我有一个SimpleMessageListenerContainer,在那里我设置了AcknowledgeMode.MANUAL。和handler(SomeMessageHandler处理字符串类型),我设置为MessageListenerAdapter的侦听器。我找不到将确认发送回队列的任何位置(任何组件)。是否有一个组件我需要自动连接到我的处

在RabbitMQ api中,当通道上的
auto ack
设置为false时,我们可以使用
channel.basicAck(…)
将确认发送回队列


在春天,我有一个
SimpleMessageListenerContainer
,在那里我设置了
AcknowledgeMode.MANUAL
。和handler(
SomeMessageHandler
处理字符串类型),我设置为
MessageListenerAdapter
的侦听器。我找不到将确认发送回队列的任何位置(任何组件)。是否有一个组件我需要自动连接到我的处理程序来处理这个问题?或者,当确认模式设置为手动时,处理此确认的正确方法是什么?

当使用手动确认时,您不能使用
MessageListenerAdapter
,您必须实现
ChannelAwareMessageListener
。但是,Spring AMQP很少需要手动确认,当交付完成(或移交给另一个线程)时,容器将在成功(或失败时拒绝)时为您处理该确认