如果新连接带有相同的客户端ID,是否可以在服务器端断开旧的mqtt连接与同一客户端ID?

时间:2015-06-18 11:14:04

标签: java websocket activemq mqtt hivemq

我使用的是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

1 个答案:

答案 0 :(得分:1)

对于ActiveMQ中的WS Connector,您需要启用allowLinkStealing选项

ws://0.0.0.0:61614?allowLinkStealing=true

对于基于MQTT的常规传输连接器,此默认设置为on,但由于WS传输连接器必须提供多个协议连接(STOMP和MQTT),因此默认为关闭。