Статическая сеть брокера activemq прекращает пересылку сообщений без включенной функции AdvisorSupport? - PullRequest
1 голос
/ 18 марта 2011

У меня настроена сеть брокеров точно в соответствии с этой записью Брюса Снайдера:

Брокер 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"
/>

У меня есть advisorySupport = "false" в теге брокера как XML-конфигурации брокера, так и запущены оба брокера.

Затем я запустил потребителя с помощью команды:

ant consumer -Durl=tcp://0.0.0.0:61616

и наконец запустил продюсера с помощью этой команды:

ant producer -Durl=tcp://0.0.0.0:61617

Все произведенные сообщения затем переходят в состояние ожидания на брокере, работающем на порту 61617, и потребитель, подключенный на порт 61616, никогда не получает сообщения брокеру.

Останавливает ли сеть брокера пересылку сообщений без включенной функции AdvisorSupport? Я думал, что это было исправлено в недавнем выпуске. (Я использую выпуск activemq 5.4.2).

Не активна ли статическая сеть activemq брокера, чтобы остановить переадресацию сообщений AdvisorSupport отключен?

Обновление: Я столкнулся с проблемами, используя advisorySupport = "false" и staticallyIncludedDestitions.

Мы используем JMS в основном для запроса-ответа, как описано здесь: http://activemq.apache.org/how-should-i-implement-request-response-with-jms.html

Мы используем временную очередь на стороне источника, чтобы иметь возможность получать ответ от потребителей, и так как staticallyIncludedDestination не может включать в себя эти имена временных очередей, поэтому все производители не могут получать ответы от клиентов, когда отключен advisorySupport.

Я прихожу к выводу, что для нашего сценария консультативная поддержка не может быть отключена, если нет какого-то другого трюка с настройкой, о котором я не знаю.

1 Ответ

4 голосов
/ 18 марта 2011

Документация sais:

"Предупреждение: Консультативные сообщения необходимы для динамические топологии сетевого брокера как NetworkConnectors подписаться на консультативные сообщения. В отсутствии рекомендации, сеть должна быть статически настроенный.

Консультативные сообщения сообщают узлу, где находятся удаленные потребители и, следовательно, куда отправлять входящие сообщения. БЕЗ их, вы должны настроить это самостоятельно.

В документации есть пример, как это сделать: http://activemq.apache.org/networks-of-brokers.html

...