greyby
greyby

Reputation: 156

How to stop consuming messages with @RabbitListener

When I use MessageListenerAdapter to handle message, I could call SimpleMessageListenerContainer.stop() to stop consume from the queue. But after I change to use @RabbitListener to listen, I can't find a method like this. I tried CachingConnectionFactory.stop() but doesn't work. Could anyone help? Thank you very much.

Upvotes: 5

Views: 5663

Answers (1)

Gary Russell
Gary Russell

Reputation: 174494

  1. Give the @RabbitListener an id.
  2. Get a reference to the listener endpoint registry bean by autowiring etc.
  3. Calling stop() on the registry will stop all containers.
  4. Call getListenerContainer(id).stop() to stop an individual container.

Upvotes: 10

Related Questions