我的MQ设置如下:
生产者A和生产者B正在向虚拟主题发送数据: VirtualTopic.test
消费者A正在消耗来自队列 Consumer.A.VirtualTopic.test 的消息,消费者B正在使用来自 Consumer.B.VirtualTopic.test 的消息。
所有消费者和生产者都使用故障转移表示法定义了经纪人(与虚拟队列一起)使我们能够在经纪人失败后继续存在。因此,如果其中一个代理失败,则消费者将连接到另一个代理,它可以继续接收消息。
我想知道任何(或两个)生产者何时断开连接。为此,我订阅了咨询主题:ActiveMQ.Advisory.Producer.Topic.VirtualTopic.test。
这就是我的麻烦...当所有消费者都如图所示连接并且生产者A关闭时,只有消费者A收到带有producerCount 0的咨询消息,而另一个消费者没有收到它。 我希望mq经纪人能够在咨询消息中提供总结的生产者数量(在这种情况下为2),并且只有当两个生产者都将断开与producerCount = 0的咨询消息时才会在两个消费者上收到。
这可以通过某种方式实现吗?或者至少那个broker1发送的咨询消息会被转发到broker2,而broker2将被传递给consumerB?