ActiveMQ-cpp: потеря соединения несмотря на аварийное переключение - PullRequest
0 голосов
/ 05 июня 2018

Я использую ActiveMQ 5.15.4 с моим брокером, настроенным для соединений openwire, например:

<transportConnector name="openwire" uri="tcp://0.0.0.0:24510?transport.useInactivityMonitor=false&amp;transport.keepAlive=true"/>

..., чтобы гарантировать отсутствие таймаутов на уровне TCP или ActiveMQ.Затем мой клиент ActiveMQ-cpp-3.9.4 подключается по следующему URL-адресу аварийного переключения:

failover://(tcp://amq:24510)?soKeepAlive=true&wireFormat.maxInactivityDuration=0

..., чтобы гарантировать, что если сбой в сети вызовет сбой транспорта, клиент автоматически восстановит соединение.

Клиент устанавливает свое первоначальное соединение и переживает несколько циклов аварийного переключения «транспортный сбой / транспорт возобновлен», но последовательно, в течение пары минут, он сталкивается с транспортным сбоем, с которого он не восстанавливается (несмотря на восстановление сети иброкер и клиент продолжают работать).

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

Есть идеи, почему мой клиент не может возобновить транспорт после сбоя?

1 Ответ

0 голосов
/ 08 августа 2019

Кажется, они решили эту проблему с помощью 3.9.5, где информация об изменениях говорит, что они решили проблему с механизмом восстановления после отказа.

...