Я хотел бы включить перераспределение сообщений в моем 2-узловом кластере со статическими хостами. Но вроде не работает.
1) У меня есть 10 производителей, которые записывают в очередь MyTestQueue на узле 1 (но нет потребителей).
2) У меня есть 1 потребитель на узле 2 (но нет производителей), который принимает сообщения от узла 2.
Я ожидаю, что узел 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>
Как я могу заставить работать перераспределение сообщений?