2

我正在使用通过 websocket 配置 mqtt 的 ActiveMQ 5.11.1。

如果新连接带有相同的客户端 ID,是否可以在服务器端断开具有相同客户端 ID 的旧 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

4

1 回答 1

1

对于 ActiveMQ 中的 WS 连接器,您需要启用 allowLinkStealing 选项

ws://0.0.0.0:61614?allowLinkStealing=true

对于普通的基于 MQTT 的传输连接器,这默认为打开,但因为 WS 传输连接器必须服务于多个协议连接(STOMP 和 MQTT),所以默认为关闭。

于 2015-06-18T19:50:19.773 回答