Как подключиться к сети брокеров activemq из клиентского приложения?
-
19-09-2019 - |
Вопрос
Я настроил сеть брокеров в activemq, как мне подключиться к ней из моего клиентского приложения
Я пытался с
сеть: статическая: (tcp://master1.IP: 61616, tcp: //master2.IP: 61617) и
но я получаю следующее исключение
javax.jms.JMSException: Uncategorized exception occured during JMS processing; nested exception is javax.jms.JMSException: Could not create Transport. Reason: java.io.IOException: Transport scheme NOT recognized: [network];
С
статический: (tcp: //master1.IP: 61616, tcp: //master2.IP: 61617)
Я получаю исключение
javax.jms.JMSException: Uncategorized exception occured during JMS processing; nested exception is javax.jms.JMSException: Could not create Transport. Reason: java.io.IOException: Transport scheme NOT recognized: [static];
Спасибо
Решение
"Клиенты, желающие перейти на статический список экземпляров брокера, должны вместо этого использовать failover:// transport". (из : http://activemq.apache.org/static-transport-reference.html)
таким образом, правильный синтаксис был бы следующим:
переход на другой ресурс: (tcp: //master1.IP: 61616, tcp: //master2.IP:61617)
Другие советы
Для подключения к сети брокеров мы можем использовать многоадресную рассылку следующим образом:В ActiveMQ.xml:
<transportConnectors>
<transportConnector name="openwire" uri="tcp://IP1:61616" discoveryUri="multicast://default?group=GROUPNAME"/>
</transportConnectors>
<networkConnectors>
<networkConnector uri="multicast://default?group=GROUPNAME"/>
</networkConnectors>
И в клиентском API:
discovery:(multicast://default?group=GROUPNAME)