From b726dc97538b7d4ba71fd06c14161017dd67c2b7 Mon Sep 17 00:00:00 2001
From: xubinbin <1323875150@qq.com>
Date: 星期三, 10 五月 2023 15:38:22 +0800
Subject: [PATCH] "@schedule"是Spring框架提供的一种定时任务执行机制,默认情况下它是单线程执行,项目中多次使用fixedRate按指定频率执行任务(不管前面任务是否已经完成),在同时执行多个定时任务时可能会出现阻塞和性能问题,为了解决这种单线程瓶颈问题,将定时任务的执行机制改为支持多线程

---
 src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java
index b30ca19..fe739ea 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java
@@ -43,6 +43,7 @@
             "geoCoordSys," +
             "treeType," +
             "online," +
+            "mediaServerId," +
             "(SELECT count(0) FROM device_channel WHERE deviceId=device.deviceId) as channelCount "+
             " FROM device WHERE deviceId = #{deviceId}")
     Device getDeviceByDeviceId(String deviceId);
@@ -160,6 +161,7 @@
             "geoCoordSys," +
             "treeType," +
             "online," +
+            "mediaServerId," +
             "(SELECT count(0) FROM device_channel WHERE deviceId=de.deviceId) as channelCount  FROM device de" +
             "<if test=\"online != null\"> where online=${online}</if>"+
             " </script>"
@@ -168,9 +170,6 @@
 
     @Delete("DELETE FROM device WHERE deviceId=#{deviceId}")
     int del(String deviceId);
-
-    @Update("UPDATE device SET online=0")
-    int outlineForAll();
 
     @Select("SELECT " +
             "deviceId, " +
@@ -256,7 +255,7 @@
             "<if test=\"mediaServerId != null\">, mediaServerId=#{mediaServerId}</if>" +
             "WHERE deviceId=#{deviceId}"+
             " </script>"})
-    int updateCustom(Device device);
+    void updateCustom(Device device);
 
     @Insert("INSERT INTO device (" +
             "deviceId, " +
@@ -270,7 +269,8 @@
             "asMessageChannel," +
             "geoCoordSys," +
             "treeType," +
-            "online" +
+            "online," +
+            "mediaServerId" +
             ") VALUES (" +
             "#{deviceId}," +
             "#{name}," +
@@ -283,7 +283,8 @@
             "#{asMessageChannel}," +
             "#{geoCoordSys}," +
             "#{treeType}," +
-            "#{online}" +
+            "#{online}," +
+            "#{mediaServerId}" +
             ")")
     void addCustomDevice(Device device);
 

--
Gitblit v1.8.0