From d739bfa5976e36ced26f906ab16f83c20c8cb27c Mon Sep 17 00:00:00 2001
From: xiaoxie <hotcoffie@163.com>
Date: 星期一, 23 五月 2022 09:44:21 +0800
Subject: [PATCH] 处理冲突

---
 src/main/java/com/genersoft/iot/vmp/gb28181/event/platformNotRegister/PlatformCycleRegisterEventLister.java |   19 +++++++++----------
 1 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/event/platformNotRegister/PlatformCycleRegisterEventLister.java b/src/main/java/com/genersoft/iot/vmp/gb28181/event/platformNotRegister/PlatformCycleRegisterEventLister.java
index b6f0842..d2a9246 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/event/platformNotRegister/PlatformCycleRegisterEventLister.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/event/platformNotRegister/PlatformCycleRegisterEventLister.java
@@ -1,5 +1,6 @@
 package com.genersoft.iot.vmp.gb28181.event.platformNotRegister;
 
+import com.genersoft.iot.vmp.conf.DynamicTask;
 import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
 import com.genersoft.iot.vmp.gb28181.event.SipSubscribe;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
@@ -22,6 +23,8 @@
     private IVideoManagerStorage storager;
     @Autowired
     private ISIPCommanderForPlatform sipCommanderFroPlatform;
+    @Autowired
+    private DynamicTask dynamicTask;
 
     @Override
     public void onApplicationEvent(PlatformCycleRegisterEvent event) {
@@ -31,17 +34,13 @@
             logger.info("[ 骞冲彴鏈敞鍐屼簨浠� ] 骞冲彴宸茬粡鍒犻櫎!!! 骞冲彴鍥芥爣ID锛�" + event.getPlatformGbID());
             return;
         }
-        Timer timer = new Timer();
+        String taskKey = "platform-cycle-register" + parentPlatform.getServerGBId();;
         SipSubscribe.Event okEvent = (responseEvent)->{
-            timer.cancel();
+            dynamicTask.stop(taskKey);
         };
-        sipCommanderFroPlatform.register(parentPlatform, null, okEvent);
-        timer.schedule(new TimerTask() {
-            @Override
-            public void run() {
-                logger.info("[骞冲彴娉ㄥ唽]鍐嶆鍚戝钩鍙版敞鍐岋紝骞冲彴鍥芥爣ID锛�" + event.getPlatformGbID());
-                sipCommanderFroPlatform.register(parentPlatform, null, okEvent);
-            }
-        }, 15*1000 ,Long.parseLong(parentPlatform.getExpires())* 1000);
+        dynamicTask.startCron(taskKey, ()->{
+            logger.info("[骞冲彴娉ㄥ唽]鍐嶆鍚戝钩鍙版敞鍐岋紝骞冲彴鍥芥爣ID锛�" + event.getPlatformGbID());
+            sipCommanderFroPlatform.register(parentPlatform, null, okEvent);
+        }, Integer.parseInt(parentPlatform.getExpires())* 1000);
     }
 }

--
Gitblit v1.8.0