spring 如何使用RabbitListenerEndpointRegistry?

7dl7o3gd  于 2023-01-12  发布在  Spring
关注(0)|答案(1)|浏览(182)

我想破坏我的特定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();
    }
46qrfjad

46qrfjad1#

你不需要声明你自己的RabbitListenerEndpointRegistry-当@EnableRabbit@Configuration上提供时,框架通过RabbitBootstrapConfiguration为我们做这件事。
然后,您的@RabbitListener与该listener_id将被注册到该全局注册表中,并且在运行时的某个位置,您将能够停止它。

相关问题