【问题标题】:Spring RabbitMQ. Determine all consumers when multiple app instances are connected春天兔子MQ。连接多个应用实例时确定所有消费者
【发布时间】:2021-10-30 23:27:20
【问题描述】:

我有一个在运行时创建/停止/恢复队列和消费者的应用程序。该应用程序有多个实例。我面临的问题是实例只知道自己创建的消费者。因此,如果有两个队列,每个队列都有一个由不同应用实例创建的消费者,那么RabbitListenerEndpointRegistry.getQueueNames 只返回一个该实例正在侦听的队列

行为示例:

  • 从应用实例 1 创建 queueA
  • 从应用实例 2 创建 queueB
  • 获取当前从实例 1 侦听的所有队列 - 仅提供 queueA

我需要什么:从任何应用实例中获取所有侦听器,并从任何应用实例中移除任何队列侦听器。

我玩了很多连接工厂,但没有运气。

这可能吗?

【问题讨论】:

    标签: spring spring-boot rabbitmq amqp spring-rabbit


    【解决方案1】:

    使用 AMQP 协议或 Spring 库没有可用的东西; RabbitMQ 确实提供了一个 REST API 和一个 Java 客户端绑定 (Hop),这可能会有所帮助,但您需要以某种方式与每个实例进行通信以关闭侦听器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-29
      • 1970-01-01
      • 2020-11-24
      • 2018-09-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多