我有一个使用spring-boot AMQP库的spring-boot应用程序。
pom.xml :
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
如何让它处理并确认单个消息然后正常退出?
可以让它在没有确认的情况下退出,但似乎无法确定如何确认消息然后退出!
答案 0 :(得分:1)
您只需使用RabbitTemplate.receive()
(或receiveAndConvert()
)方法之一,而不是使用侦听器容器。
答案 1 :(得分:1)
您可以按照以下步骤操作:
RabbitListener
作为监听器(完整示例请参阅this SO answer)AtomicInteger
作为计数器listen
方法执行时没有任何异常)。 Spring只会在方法执行成功时发送确认0
(或超过配置的阈值),请通过调用stop()
方法停止收听@Value
配置阈值并使用incrementAndget()
方法以原子方式递增计数器