whi*_*exx 4 spring-rabbit spring-amqp spring-boot spring-rabbitmq
我有一个互联网连接,其中出口网关定期更改.在发生这种情况之前的几秒钟,我正在向我的spring应用程序收到一个事件或回调通知.我想停止我的兔子消费者和连接,然后在几秒钟后(当我的网络连接恢复时)再次连接.
我正在使用spring amqp的基于注释的方法,但我也可以切换到另一种实现方式.
我知道spring-amqp正在为我重新连接,但我想自己做这件事来控制它.我如何以编程方式彻底清除所有消费者(RabbitListeners)以及与rabbitmq代理的干净连接以及所有消费者的干净连接和启动?如果消费者能够重新创建,那就好了.如果这是不可能的,我将不得不重新初始化一些对象属性.
您可以@Autowire
在RabbitListenerEndpointRegistry
并呼吁stop()
停止所有@RabbitListener
实例.
然后调用resetConnection()
连接工厂关闭连接.
然后重新启动注册表将导致重新建立连接.
归档时间: |
|
查看次数: |
2916 次 |
最近记录: |