Можно ли отключить старое соединение mqtt с тем же идентификатором клиента на стороне сервера, если новое соединение получено с тем же идентификатором клиента?

Я использую ActiveMQ 5.11.1, который настроен с mqtt через websocket.

Можно ли отключить старое соединение mqtt с тем же идентификатором клиента на стороне сервера, если новое соединение получено с тем же идентификатором клиента?

Когда я попробовал этот сценарий с помощью hivemq websocket, я получаю сообщение об ошибке следующим образом.

2015-06-18 20:03:06,074 | WARN | Transport Connection to: MQTTSocket_22078239 failed: java.io.IOException: Broker: localhost - Client: abc already connected from MQTTSocket_24236395 | org.apache.activemq.broker.TransportConnection.Transport | qtp20829588-40

1 ответ

Для WS Connector в ActiveMQ необходимо включить параметр allowLinkStealing

ws://0.0.0.0:61614?allowLinkStealing=true

По умолчанию он включен для обычных транспортных соединителей на основе MQTT, но, поскольку транспортный соединитель WS должен обслуживать несколько протокольных соединений (STOMP и MQTT), по умолчанию выключено.

Другие вопросы по тегам