У меня следующая проблема: у меня есть несколько сайтов с локальным посредником ActiveMQ, который пересылает удаленному посреднику (в центре обработки данных). Это соединение часто нестабильно и прерывается несколько раз в месяц на несколько минут или часов за раз.
Поэтому сообщения должны ждать на локальном посреднике, если удаленный посредник в данный момент недоступен.
У меня есть следующая конфигурация ActiveMQ:
<networkConnectors>
<networkConnector uri="static://(tcp://my-remote-broker:61616)"
name="myremotebroker" dynamicOnly="false"
conduitSubscriptions="true"
decreaseNetworkConsumerPriority="false">
<!-- Exclude all destinations by default -->
<excludedDestinations>
<queue physicalName=">" />
<topic physicalName=">" />
</excludedDestinations>
<!-- Only forward these to our connection -->
<staticallyIncludedDestinations>
<topic physicalName="MySpecialTopic"/>
</staticallyIncludedDestinations>
</networkConnector>
</networkConnectors>
Это перенаправляет сообщения от локального посредника (по теме MySpecialTopic) на удаленный посредник. Это работает, когда соединение стабильно.
Однако я попытался временно отключить интернет-соединение, чтобы локальный брокер потерял связь с удаленным брокером. В этот момент я отправил новое сообщение, которое было поставлено в очередь на локальном посреднике, но так и не пришло на удаленного посредника, даже после повторного подключения локального посредника!
Что-то в конфигурации ActiveMQ мне не хватает?
Спасибо!