ActiveMQCPP connection.start () зависает - PullRequest
       22

ActiveMQCPP connection.start () зависает

3 голосов
/ 27 февраля 2011

Я использую ActiveMQ CPP 5.2.3, если это имеет значение.

У меня есть JMS-производитель, который подключается с помощью failover транспорта к сети JMS-брокеров. Когда я вызываю соединение-> start (), оно зависает (см. AMQ-2114 ).

Если я пропущу соединение start () и вызову connection-> createSession (), этот вызов также будет заблокирован.

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

Есть предложения / обходные пути?

ПРИМЕЧАНИЕ :

Это не дубликат здесь , так как я говорю о C ++ и таких решениях, как встроенный брокер, в C ++ недоступны Spring.

1 Ответ

4 голосов
/ 28 февраля 2011

Это нормально, когда соединение ожидает транспорт для подключения к брокеру. Метод start должен отправлять брокеру информацию об идентификаторе клиента перед любой другой операцией, поэтому, если соединение отсутствует, он должен блокироваться. Вы можете установить некоторые параметры на отказоустойчивом транспорте, например, параметр startupMaxReconnectAttempts, чтобы контролировать, как долго он будет пытаться подключиться, прежде чем сообщать о сбое. См. Страницу конфигурации URI:

http://activemq.apache.org/cms/configuring.html

...