2012-04-04 6 views
1

。このシナリオでは理解の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> 

:以下の構成エキスを考えてみましょう

  • は、それが自動的に明示的に定義されていないものを排除するものでもない、connectorAdynamicallyIncludedDestinations定義を考えると?つまり、connectorAはキューではなくトピックに送信されたメッセージを受信しますか?予想通り

    ネットワークが動作しない(彼らは動的に 新しい消費者に対応することはできません)advisorySupportブローカーのプロパティが無効になっている場合:

この構成では、documentation状態は、次のうちadvisorySupport='false'を、宣言しています。 advisorySupportが無効になっている場合は、完全に静的に構成されたネットワークが唯一のオプションです。次のセクション

でそれについての詳細を読むしたがって、それはconnectorAで宣言さ<amq:queue physicalName=">"/>だけではなく、クラスタ全体よりも、それ自身のブローカー内のキューにメッセージを受信することを意味するのでしょうか?

もしそうでなければ(私が見ている結果と一致しないようです)、この組み合わせを解釈する正しい方法は何ですか?

  • ここでも、ブローカーがadvisorySupport='false'を持って与えられ、これはconnectorBdynamicallyIncludedDestinationsセクションを追加することから私を防ぐのですか?

  • jms:topic:topicCにメッセージを送信した場合、それを受信する消費者は、メッセージが送信された場所からブローカに登録されている唯一のものであると言うのは間違いありませんか?助言支援を

答えて

2

がオフになって、あなたはブローカーが宛先のメッセージオンデマンドで情報を伝達する任意の手段を持っていないような動的なネットワークを作成するためのすべての機能をオフに。だからあなたのconnectorAはこの場合にはあまり意味がありません。