yf_zn 1 год назад
Родитель
Сommit
3a03983173

+ 0 - 2
src/main/java/com/yunfeiyun/agmp/iots/core/mqtt/network/MqttCore.java

@@ -240,9 +240,7 @@ public class MqttCore {
      * @param mqttTopicValues
      */
     public void bindTopicToDeviceId(List<MqttTopicValue> mqttTopicValues){
-        log.info("xxxxxxxxxxxxxxxxxy映射");
         for(MqttTopicValue mqttTopicValue:mqttTopicValues){
-            log.info("xxxxxxxxxxxxxxxxx {}",mqttTopicValue);
             topicToDevId.put(mqttTopicValue.getTopic(),mqttTopicValue.getDevId());
 
         }

+ 8 - 5
src/main/java/com/yunfeiyun/agmp/iots/core/mqtt/network/MqttSubscriber.java

@@ -90,21 +90,24 @@ public class MqttSubscriber implements MqttCallbackExtended {
     @Override
     public void connectComplete(boolean reconnect, String serverURI) {
         log.info("[MQTT] 连接断开,重连成功..." + serverURI);
+
         String[] topics = mqttCore.getSubTopic();
-        mqttClient.setCallback(this);
+        if(topics==null||topics.length==0){
+            mqttClient.setCallback(this);
+            log.info("[MQTT] 连接断开,重连成功 无topic ");
+            return;
+        }
         for (String topic : topics) {
-
             //TODO 测试设备乱发离线指令,暂时不订阅它
             if ("/yfkj/cbd/offline/861551058867599".equals(topic)) {
                 continue;
             }
-
             try {
                 mqttClient.subscribe(topic);
-            } catch (MqttException e) {
+                log.info("[MQTT] 连接断开,重连成功 重新订阅主题 {},{}", mqttCore.getServiceType(), topic);
+            } catch (Exception e) {
                 throw new RuntimeException(e);
             }
-            log.debug("[MQTT] 连接断开,重连成功 重新订阅主题 {},{}", mqttCore.getServiceType(), topic);
         }
     }
 }