一旦所有消息都被消费了,如何触发一个方法?

How to trigger a method once all messages are consumed?

我的代码向多个 RabbitMQ 消费者发送一批消息,一旦最后一条消息被消费,我想触发一个方法。触发方法的时间 必须 在所有消息之后,因为它使用来自所有消息处理的数据。

有没有办法用 spring-amqp 做到这一点?

即将发布的 1.6 版本(目前为 1.6.0.M1 - 第一个里程碑版本)有一项 emit application events when the container goes idle 的新功能。

对于早期版本,您必须自己设置一个计时器(计划任务)并在收到消息时取消然后重新设置。