我想破坏我的特定RabbitListener...所以我搜索了一下,大多数人都用这种方式。
@Autowired
RabbitListenerEndpointRegistry endpointRegistry;
endpointRegistry.getListenerContainer( "listener_id" ).stop();
但端点注册表没有任何容器...端点注册表.getListenerContainers().size()= 0
我还在RabbitMQConfiguration中做了一个类似的Bean。
@Bean
@Qualifier( "RabbitListenerEndpointRegistry" )
public RabbitListenerEndpointRegistry rabbitListenerEndpointRegistry(){
return new RabbitListenerEndpointRegistry();
}
怎么修???
@Autowired
RabbitListenerEndpointRegistry endpointRegistry;
endpointRegistry.getListenerContainer( "listener_id" ).stop();
@Bean
@Qualifier( "RabbitListenerEndpointRegistry" )
public RabbitListenerEndpointRegistry rabbitListenerEndpointRegistry(){
return new RabbitListenerEndpointRegistry();
}
1条答案
按热度按时间46qrfjad1#
你不需要声明你自己的
RabbitListenerEndpointRegistry
-当@EnableRabbit
在@Configuration
上提供时,框架通过RabbitBootstrapConfiguration
为我们做这件事。然后,您的
@RabbitListener
与该listener_id
将被注册到该全局注册表中,并且在运行时的某个位置,您将能够停止它。