From 37ad41fcac6e1e465db4f9bca397f1e26baa66ab Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期二, 19 十一月 2024 10:28:01 +0800
Subject: [PATCH] 修改设备升级任务实现算法,使其运行更安全

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java |   23 ++++++++++++++++++-----
 1 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java
index 540e811..acfc12e 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java
@@ -53,11 +53,24 @@
         if(this.task != null && !this.task.taskIsOver){
             throw new Exception("褰撳墠瀛樺湪鍗囩骇浠诲姟锛岃绛夊緟褰撳墠浠诲姟鎵ц瀹屾垨寮哄埗缁撴潫褰撳墠浠诲姟");
         }else {
-            this.task.forceOver();
-            this.task = new UpgradeTask();
-            this.task.initOption(this.failTryTimes, this.ugMaxRtuSameTime);
-            this.task.setTask(vo);
-            this.start(this);
+            Exception ex = null ;
+            try{
+                if(this.task != null){
+                    this.task.forceOver();
+                }
+                this.task = new UpgradeTask();
+                this.task.initOption(this.failTryTimes, this.ugMaxRtuSameTime);
+                this.task.setTask(vo);
+            }catch (Exception e){
+                ex = e ;
+            }finally {
+                if(ex != null){
+                    this.task = null ;
+                    throw ex ;
+                }else{
+                    this.start(this);
+                }
+            }
         }
     }
 

--
Gitblit v1.8.0