环境信息
- EMQX 版本:5.0.4
- 操作系统及版本:windows 10
- 其他
问题描述
配置文件及日志
mqtt_usda.zip (74.7 KB)
spring:
mqtt:
broker: tcp://localhost:1883
clientId: mqtt_usda #客户端的id
username: emqx
password: public
timeout: 1000
KeepAlive: 1
topics: ServerId_02 #主题
qos: 0 #心跳包级别:
org.eclipse.paho
org.eclipse.paho.client.mqttv3
1.2.5
io.netty
netty-all
4.1.58.Final
compile
Shawn
2
{shutdown, takeover} 看起来是使用同一个 clientid 重复登录,老的连接被挤下去了。
我用MQTTX连接是不会出现这个报错,JAVA中怎样避免 clientid 重复登录,应该如何解决呢
client = new MqttClient(mqttConfiguration.getHost(), mqttConfiguration.getClientId(), new MemoryPersistence());
spring:
mqtt:
broker: tcp://localhost:1883
clientId: mqtt_usda #客户端的id
不能这样写死一个clientId吗
wivwiv
6
clientid 唯一是强制要求的,可以加一个随机函数。