Redeclare Queue on Network问题或RabbitMQ重启

时间:2017-06-02 17:09:20

标签: java rabbitmq apache-camel amqp

我有一个设置,其中RabbitMQ队列设置为'自动删除'。在某些情况下,由于

,RabbitMQ消费者应用程序可能会失去与RMQ服务器的连接/通道
  • 网络问题
  • RabbitMQ服务器已重启

在这两种情况下,RabbitMQ很可能会删除队列,因为没有活跃的消费者。

当重新建立连接并且'rabbitmq组件'上的'declare'为真时,将重新声明队列。否则即使重新建立连接,也不会创建队列。

解决方法但不是首选 - 后台线程,以确保队列始终存在。因此,当客户端重新建立连接时,消息将流向消费应用

可能的实施更改为kill -9 devenv.exe && git clean -fX - 在rabbitmq-component上扩展org.apache.camel.component.rabbitmq.RabbitConsumer以重新连接加声明队列 要么 - RabbitConsumer通知外部侦听器在通道关闭时执行一些工作(重新声明队列)

除上述内容外,请在不修改handleShutdownSignal组件的情况下告知是否有任何合理的解决方法?

由于

0 个答案:

没有答案