Bläddra i källkod

二期 mqtt bug

suntianwu 3 år sedan
förälder
incheckning
4956e67574
1 ändrade filer med 14 tillägg och 1 borttagningar
  1. 14 1
      src/main/java/com/care/installation/service/RoomService.java

+ 14 - 1
src/main/java/com/care/installation/service/RoomService.java

@@ -12,6 +12,7 @@ import com.care.common.enums.DeviceActiveStatusEnum;
 import com.care.common.enums.DeviceStatusEnum;
 import com.care.common.enums.InstallDevStatusEnum;
 import com.care.common.service.*;
+import com.care.common.util.CommonConfUtil;
 import com.care.common.util.JsonUtil;
 import com.care.installation.vo.*;
 import com.care.mqtt.service.MqttConnectorInstallPoolService;
@@ -295,7 +296,7 @@ public class RoomService {
                 careRoomRegionService.update(updateWrapper4);
                 mqttPublishService.publish(careDevice, getRoomRegionVOMqttData(roomRegionVOList),devCode,"careRoomRegion");
             }
-
+            new Thread(() -> queryConfigureRoomInfoResult(devCode)).start();
             return true;
         } catch (Exception e) {
             e.printStackTrace();
@@ -303,6 +304,18 @@ public class RoomService {
         }
     }
 
+    /**
+     * 启动一个线程,查询状态,防止前端不轮训,造成资源泄露
+     */
+    private void queryConfigureRoomInfoResult(String devCode) {
+        Long timeout = Long.parseLong(CommonConfUtil.getConf("mqtt.dev.jihuo.timeout"));
+       try {
+           Thread.sleep(timeout + 5000);
+           getConfigureRoomInfoResult(devCode);
+       } catch (Exception e){
+           e.printStackTrace();
+       }
+    }
     /**
      * 查询配置房间信息的Mqtt返回结果
      * @return