Я хотел бы использовать аварийный транспорт ActiveMQ, как описано в https://activemq.apache.org/failover-transport-reference.html.
Параметры аварийного переключения «повторить навсегда» по умолчанию работают должным образом.
Однако, поскольку навсегда иногда бывает слишком долго, я попытался установить некоторые параметры, чтобы завершить повтор раньше.
Например, при запуске я хотел бы немедленно завершить работу приложения, если соединение с брокером не может быть установлено с первой попытки.
Попробовал самый простой вариант:
failover:tcp://localhost:61616?startupMaxReconnectAttempts=0
но, к моему удивлению, повторная попытка продолжается вечно.
Я пробовал много других комбинаций параметров, например
failover:tcp://localhost:61616?startupMaxReconnectAttempts=0&maxReconnectDelay=10&maxReconnectAttempts=0&timeout=10
но без желаемого результата.
Что я делаю не так? Как настроить аварийный транспорт таким образом, чтобы он прекращал попытки повторного подключения при запуске, если посредник недоступен?
Я использую ActiveMQ версии 5.15.9 (https://hub.docker.com/r/rmohr/activemq) и библиотеку Apache.NMS.ActiveMQ версии 1.8.
Соответствующий фрагмент кода
var factory = new ConnectionFactory(connectionString);
var connection = factory.CreateConnection();
var session = connection.CreateSession(); // hangs here