如何阻止Spring AMQP带注释的消息监听器接收消息

时间:2015-07-21 11:02:41

标签: spring-amqp

当我的Spring AMQP消息侦听器识别出错误时,我想停止从队列接收消息。当我将ListenerContainer配置为bean时,我可以在其上调用stop()。

当我使用端点注释配置我的侦听器时,我可以执行类似的操作吗?例如。是否可以注入容器为我创建的ListenerContainer?

THX,   tchick

1 个答案:

答案 0 :(得分:2)

请查找@RabbitListener#id() JavaDocs:

/**
 * The unique identifier of the container managing for this endpoint.
 * <p>If none is specified an auto-generated one is provided.
 * @return the {@code id} for the container managing for this endpoint.
 * @see org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry#getListenerContainer(String)
 */
String id() default "";

因此,您必须向目标服务注入RabbitListenerEndpointRegistry并使用它来ListenerContainer访问所需的id