我在网络设置中有两个ActiveMQ代理。客户端配置为randomize = true并且能够正常连接。但是,消息不会从一个代理转发到另一个代理并保留在队列中。例如,我有一个特定的队列,它有多个生产者和一个消费者。如果我查看一个消费者所连接的代理上的队列,则所有消息都会立即出列。但是,在其他代理消息上排队并且不会耗尽。
下面列出了我为两个经纪人设置的networkConnectors和transportConnectors。我尝试过添加duplex =" true"以及将networkTTL更改为1并且那些似乎没有任何区别。
BrokerA:
<networkConnectors>
<networkConnector name="LocalBrokerToB"
networkTTL="2"
uri="static:(tcp://hostnameB:61617)"/>
</networkConnectors>
<transportConnectors>
<transportConnector name="nioConnectorFront" uri="nio://hostnameA:61616?maximumConnections=1024 "/>
<transportConnector name="nioConnectorBack" uri="tcp://hostnameA:61617?maximumConnections=1024 "/>
</transportConnectors>
BrokerB:
<networkConnectors>
<networkConnector name="LocalBrokerToA"
networkTTL="2"
uri="static:(tcp://hostnameA:61617)"/>
</networkConnectors>
<transportConnectors>
<transportConnector name="nioConnectorFront" uri="nio://hostnameB:61616?maximumConnections=1024 "/>
<transportConnector name="nioConnectorBack" uri="tcp://hostnameB:61617?maximumConnections=1024 "/>
</transportConnectors>
关于可能出现什么问题的任何想法?某人工作的示例配置将是一个很大的帮助。
答案 0 :(得分:0)
您应该将networkConnector连接到其他代理的传输连接器。这是您示例中的端口61616,而不是61617。
您应该在代理日志中或通过Web控制台/ JMX验证网络连接是否已实际建立。
添加duplex =&#34; true&#34;让其中一个经纪人启动连接,这在防火墙等情况下是很好的。在你的情况下,这应该不重要。