1

静的ホストを持つ 2 ノード クラスターでメッセージの再配布を有効にしたいと考えています。しかし、うまくいかないようです。

1)ノード1のキュー「MyTestQueue」に書き込む10個のプロデューサーがあります(ただし、コンシューマーはありません)。
2) ノード 2 には、ノード 2 からのメッセージを消費する 1 つのコンシューマーがあります (ただし、プロデューサーはありません)。

ノード 1 は、コンシューマが存在するノード 2 にメッセージを再配布することを期待していますが、そうではありません。ノード 1 のメッセージ数は、ノード 1 に送信されたメッセージの量と同じままです。

私のbroker.xmlにはforward-when-no-consumers、falseに設定された次の構成があります。redistribution-delayまた、値をゼロに設定しました。

<jms xmlns="urn:activemq:jms">
    <queue name="MyTestQueue"/>
</jms>
...
<cluster-connections>
      <cluster-connection name="my-test-cluster">
           <address>jms</address>
           <connector-ref>server0-connector</connector-ref>
            <retry-interval>500</retry-interval>
            <use-duplicate-detection>true</use-duplicate-detection>
            <forward-when-no-consumers>false</forward-when-no-consumers>
            <message-load-balancing>ON_DEMAND</message-load-balancing>
            <max-hops>1</max-hops>
            <confirmation-window-size>1024</confirmation-window-size>
            <static-connectors>
                <connector-ref>server1-connector</connector-ref>
            </static-connectors>
        </cluster-connection>
    </cluster-connections>
    ...
    <address-settings>
         <address-setting match="#">
             <redelivery-delay>5000</redelivery-delay>
             <redelivery-delay-multiplier>3</redelivery-delay-multiplier>
             <max-redelivery-delay>10000</max-redelivery-delay>
             <max-delivery-attempts>10</max-delivery-attempts>
             <max-size-bytes>104857600</max-size-bytes>
             <page-size-bytes>10485760</page-size-bytes>
             <address-full-policy>PAGE</address-full-policy>
             <redistribution-delay>0</redistribution-delay>
        </address-setting>
    </address-settings>

メッセージの再配布を機能させるにはどうすればよいですか?

4

3 に答える 3