当队列长度达到零时,如何优雅地关闭通道和连接?

时间:2016-05-11 13:50:31

标签: rabbitmq amqp spring-amqp

我们正在使用Spring AMQP库来使用RabbitMQ中来自队列的消息。我们的发布者在已知的时间表上生成可变数量的消息,因此我们正考虑按计划启动消费者,并在Queue为空时停止。

我想知道当队列长度达到零时如何优雅地关闭通道和连接?

1 个答案:

答案 0 :(得分:4)

即将发布的1.6版本(release candidate was released last week,GA将在下周末到期)有new feature to emit events when the listener container goes idle

收到此类事件后,您可以停止容器。您应该停止调用事件侦听器的线程上的容器 - 而是将事件传递给新线程。如果您尝试在同一个线程上停止容器,则会导致延迟,因为容器会等待释放该线程。