我试图了解 ActiveMQ 的配置如何处理dynamicallyIncludedDestinations
等。
例如。考虑以下配置提取:
<amq:broker id="broker" ... advisorySupport="false">
<amq:networkConnectors>
<amq:networkConnector name="connectorA" duplex="true"
conduitSubscriptions="false" uri="${networkconnectorURL}">
<amq:dynamicallyIncludedDestinations>
<amq:queue physicalName=">"/>
</amq:dynamicallyIncludedDestinations>
</amq:networkConnector>
<amq:networkConnector name="connectorB" duplex="true"
conduitSubscriptions="true" uri="${networkconnectorURL}">
<amq:staticallyIncludedDestinations>
<amq:topic physicalName="topicA" />
<amq:topic physicalName="topicB" />
</amq:staticallyIncludedDestinations>
</amq:networkConnector>
</amq:networkConnectors>
在这种情况下:
- 给定
connectorA
定义dynamicallyIncludedDestinations
,这是否会自动排除未明确定义的任何内容?即,将connectorA
接收发送到主题而不是队列的任何消息?
此配置声明advisorySupport='false'
,其中文档说明如下:
如果advisorySupport 代理属性被禁用,网络将无法按预期工作(它们无法动态响应新消费者)。如果advisorySupport 被禁用,则完全静态配置的网络是唯一的选择。在下一节中阅读有关它的更多信息
因此,这是否意味着<amq:queue physicalName=">"/>
声明的 inconnectorA
将只接收它自己的代理内的队列上的消息,而不是整个集群?
如果不是,(因为这似乎与我看到的结果不一致)解释这种组合的正确方法是什么?
同样,鉴于经纪人有
advisorySupport='false'
这是否会阻止我添加一个dynamicallyIncludedDestinations
部分connectorB
?如果我向 发送消息
jms:topic:topicC
,是否正确地说,接收消息的唯一消费者是在发送消息的代理上订阅的消费者?