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.
- Give the
@RabbitListener
anid
. - Get a reference to the listener endpoint registry bean by autowiring etc.
- Calling
stop()
on the registry will stop all containers. - Call
getListenerContainer(id).stop()
to stop an individual container.
来源:https://stackoverflow.com/questions/41035454/how-to-stop-consuming-messages-with-rabbitlistener