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 ++++++++++++++++++-----
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java | 12 +++++++-----
2 files changed, 25 insertions(+), 10 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);
+ }
+ }
}
}
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java
index 5ac27f0..77e5baf 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java
@@ -175,11 +175,13 @@
* 寮哄埗缁撴潫鍗囩骇浠诲姟
*/
public void forceOver(){
- this.taskIsOver = true ;//寮哄埗璁剧疆浠诲姟瀹屾垚
- this.taskOverType = TaskOverType_Force ;//浠诲姟瀹屾垚鏂瑰紡锛堣嚜鐒讹紝寮哄埗锛�
- this.taskOverDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;//浠诲姟瀹屾垚鏃堕棿(yyyy-mm-dd HH:MM:SS)
- //this.taskVo.rtuAddrList.clear();
- //this.upgradeState.clear();
+ if(!this.taskIsOver){
+ this.taskIsOver = true ;//寮哄埗璁剧疆浠诲姟瀹屾垚
+ this.taskOverType = TaskOverType_Force ;//浠诲姟瀹屾垚鏂瑰紡锛堣嚜鐒讹紝寮哄埗锛�
+ this.taskOverDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;//浠诲姟瀹屾垚鏃堕棿(yyyy-mm-dd HH:MM:SS)
+ //this.taskVo.rtuAddrList.clear();
+ //this.upgradeState.clear();
+ }
}
/**
--
Gitblit v1.8.0