2016-08-29 2 views
1

Я хочу использовать ActiveMQ для создания брокера для подключения к другому брокеру Mosquitto. И затем, я могу использовать ActiveMQ для получения сообщения от брокера Mosquitto.Создайте брокер ActiveMQ MQTT для подключения к брокеру Moquitto

Что я сделал сейчас:

  1. интегрировать ActiveMQ с JBoss EAP 6.3.
  2. создать MQTT брокера в ActiveMQ: http://activemq.apache.org/mqtt.html

Но после того, как я добавить NetworkConnector в брокерско-config.xml:

<transportConnectors> 
    <transportConnector name="openwire" uri="tcp://localhost:61616"/> 
    <transportConnector name="mqtt" uri="mqtt://localhost:1883"/> 
</transportConnectors> 

<networkConnectors> 
    <networkConnector uri="static:(tcp://mosquitto_server_ip:1883)"/> 
</networkConnectors> 

сервер показывает исключение после запуска:

"Network connection between vm://localhost#8 and tcp:///mosquitto_server_ip:[email protected] shutdown due to a remote error: java.util.concurrent.TimeoutException"

I также попробуйте использовать «mqtt: // ...» для подключения, но он все еще не выполнен:

java.lang.IllegalArgumentException: Invalid connect parameters: {wireFormat.host=0.0.0.0}

Кто-нибудь знает, как использовать JBoss ActiveMQ для подключения к брокеру mosquitto?

ответ

0

Это не поддерживается, сетевой соединитель ActiveMQ работает только между брокерами ActiveMQ, используя собственный протокол OpenWire, MQTT не поддерживается. Вам нужно будет использовать что-то вроде Camel или какого-либо другого механизма моста для поддержки межплатформенной связи между ActiveMQ и Mosquito.

+0

После того, как я попробовал Camel, он работает! Благодаря! –

Смежные вопросы