我已经完全按照Bruce Snyder 的这篇文章建立了一个经纪人网络:
经纪人1:
<networkConnector name="amq1-nc"
uri="static:(tcp://localhost:61617)"
userName="system"
password="manager"
/>
经纪人 2:
<networkConnector name="amq2-nc"
uri="static:(tcp://localhost:61616)"
userName="system"
password="manager"
/>
我在代理的配置 XML 的代理标记中都有 AdvisorySupport="false" 并启动了这两个代理。
然后我使用以下命令启动消费者:
ant consumer -Durl=tcp://0.0.0.0:61616
最后使用此命令启动生产者:
ant producer -Durl=tcp://0.0.0.0:61617
所有生成的消息然后在端口 61617 上运行的代理上进入挂起状态,而连接在端口 61616 上的消费者永远不会收到消息。
在没有启用咨询支持的情况下,代理网络是否会停止转发消息?我认为这在最近的版本中已修复。(我正在使用 activemq 5.4.2 版本)。
ActiveMQ 静态代理网络是否停止转发消息咨询支持是否已禁用?
更新: 我在使用 AdvisorySupport="false" 和 staticallyIncludedDestinations 时遇到了问题。
我们将 JMS 用于大部分请求-响应,如下所述:http: //activemq.apache.org/how-should-i-implement-request-response-with-jms.html
我们在生产者端使用了一个临时队列,以便能够接收消费者的响应,并且由于 staticallyIncludedDestinations 不能在其中包含这些临时队列名称,因此,当顾问支持被禁用时,所有生产者都无法接收来自客户端的响应。
我得出的结论是,对于我们的场景咨询支持不能关闭,除非有一些我不知道的其他配置技巧。