【发布时间】:2017-10-18 17:01:26
【问题描述】:
我在连接 ActiveMQ 网络时遇到问题。
我有两种情况:
S1:我的应用程序连接到第一个 activeMQ “A”。这个activeMQ“A”连接到一个ActiveMQ“B”——这是给我带来一些问题的场景。 S2 : 我的应用程序直接连接到 ActiveMQ "B"。
在这两种情况下,我们都将数据发送到同一个队列,当然我们发送完全相同的数据。 预期:当 ActiveMQ "B" 接收数据时,它应该在同一个队列上响应。
在场景 S1 中,我的应用程序将数据发送到 ActiveMQ“A”,然后转发到 ActiveMQ“B”,但是这个 ActiveMQ“B”似乎没有响应,事实是 ActiveMQ“A”没有从 ActiveMQ "B" 接收数据。 这是我的主要问题,我不知道为什么它不起作用,因为如果我将应用程序直接连接到 ActiveMQ “B”,我会收到数据。
我尝试在下面创建一个简单的模式来解释 S1 和 S2。
有人遇到过这种问题吗?我应该从哪里寻找问题的原因?
编辑:更多细节:
在activeMQ“A”中我可以看到有消费者(“消费者数量”列等于5)但是在activeMQ“B”中没有消费者(“消费者数量”列是0)而它应该是 5,就像在活动 MQ “A”中一样。有什么想法吗?
【问题讨论】:
-
您能否详细说明一下您的场景 S1,ActiveMQ B 究竟应该做什么?是否有其他消费者轮询 B 服务器并产生响应?
-
我亲身经历过类似的情况,但您的情况可能不同。如果您为每个消费者使用单独的队列,则通信中断可能是因为阻塞队列有大量针对特定消费者的待处理消息。检查队列并尝试清理。