环境信息
- 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 唯一是强制要求的,可以加一个随机函数。