通过 activeMQ 网络转发消息时出现问题

Issue while forwarding message through an activeMQ network

我在连接 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" 中我可以看到有消费者(列 "Number of consumer" 等于 5)但是在 activeMQ "B" 中没有消费者(列 "Number of consumer" 是 0) 而在活动 MQ "A" 中它应该是 5。有什么想法吗?

可能与 networkTTL 配置有关。(http://activemq.apache.org/networks-of-brokers.html)

在默认配置下,消息在网络中只能走一步。如果它从 A 到 B,它就不能回到 A。

ActiveMQ "A" 和 ActiveMQ "B" 两种方式都使用简单的身份验证插件。我的问题是在回答时,ActiveMQ "B" 尝试连接到 Active MQ "A" 但无法验证...这很简单!事实上我无法控制 ActiveMQ "B"。 所以解决方案是配置 ActiveMQ "A" 以便从 ActiveMQ "B".

接受 user/pwd