我使用的是ActiveMQ 5.11.1,它通过websocket配置了mqtt。
如果新连接带有相同的客户端ID,是否可以在服务器端断开旧的mqtt连接与同一客户端ID?
当我使用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
答案 0 :(得分:1)
对于ActiveMQ中的WS Connector,您需要启用allowLinkStealing选项
ws://0.0.0.0:61614?allowLinkStealing=true
对于基于MQTT的常规传输连接器,此默认设置为on,但由于WS传输连接器必须提供多个协议连接(STOMP和MQTT),因此默认为关闭。