Отказоустойчивый URL JMS в Java - PullRequest
3 голосов
/ 26 июля 2011

Я делаю соединение JMS с использованием Java. Команда, которую я использую для установления соединения:

QueueConnectionFactory factory = 
  new com.tibco.tibjms.TibjmsQueueConnectionFactory(JMSserverUrl);

Где JMSServerUrl - переменная, в которой хранится мой JMS-URL.

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

Ответы [ 2 ]

3 голосов
/ 28 июля 2011

Поместите все URL в одну строку с запятой между ними.

new TibjmsQueueConnectionFactory("ssl://host01:20302,ssl://host02:20302");

Внимание, я новичок в Tibco EMS, но, похоже, это работает, о чем свидетельствует ошибка, которую я могу получить ...

javax.jms.JMSSecurityException: Failed to connect to any server at:
ssl://host01:20302,ssl://host02:20302 
[Error: Can not initialize SSL client: no trusted certificates are set: 
url that returned this exception = SSL://host01:20302 ]
0 голосов
/ 26 июля 2011

Документация .NET для tibco (я знаю, что вы используете java) предполагает, что вы можете предоставить список разделенных запятыми URL-адресов серверов для соединений для обмена сообщениями.Имейте в виду, что у меня нет реального опыта работы с Tibco, но это распространенный способ обработки начальной отказоустойчивости соединения (т. Е. До установления соединения и получения информации о кластере, после которого соединение при сбое обычно обрабатывается соединением),Возможно, стоит попробовать.Другое решение этой проблемы - создание виртуального IP-адреса и обработка отказоустойчивости на уровне сети.

...