From 1950b0635a0db2c5286f8330e064879e020a7303 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期五, 22 十一月 2024 14:02:11 +0800 Subject: [PATCH] 1、通信中间件核心模块线程工作由Thread实现改为Timer实现; 2、完善通信中间件远程升级模块及webRemote模块; 3、优化代码。 --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java | 27 +++++++++++++++++++-------- 1 files changed, 19 insertions(+), 8 deletions(-) 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 68d6305..fbc5c6e 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 @@ -13,6 +13,7 @@ import java.util.*; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicBoolean; /** * @Author: liurunyu @@ -202,8 +203,8 @@ if(this.taskVo.rtuAddrList != null && this.taskVo.rtuAddrList.size() > 0){ state.rtuTotal = this.taskVo.rtuAddrList.size() ; if(this.upgradeRtus != null && this.upgradeRtus.size() > 0){ - Collection<UpgradeRtu> col = this.upgradeRtus.values() ; - for(UpgradeRtu info : col){ + AtomicBoolean hasRunning = new AtomicBoolean(false); + this.upgradeRtus.values().stream().forEach(info ->{ if(info.state == UpgradeRtu.STATE_OFFLINE){ state.offLineTotal ++ ; }else if(info.state == UpgradeRtu.STATE_UNSTART){ @@ -212,15 +213,25 @@ state.runningTotal ++ ; }else if(info.state == UpgradeRtu.STATE_SUCCESS) { state.successTotal++; + }else if(info.state == UpgradeRtu.STATE_FAIL) { + state.failTotal++; }else if(info.state == UpgradeRtu.STATE_FAILONE) { state.failOneTotal++; state.failTotal++; - }else if(info.state == UpgradeRtu.STATE_FAIL) { + }else if(info.state == UpgradeRtu.STATE_FAILOFFLINE) { state.failTotal++; + state.failOffTotal++; } if(info.isOver){ state.overTotal++; + }else{ + hasRunning.set(true); } + }); + if(!hasRunning.get()){ + state.allOver = true ; + }else{ + state.allOver = false ; } } } @@ -271,7 +282,7 @@ * 鍒ゆ柇鏄惁娌$敤浠讳綍涓�涓猂TU杩涜杩囧崌绾э紝鑰屼笖瓒呰繃浜嗘椂闄� * @return -1:鏃犱竴RTU鍗囩骇涓旇秴鏃讹紝0锛氭棤RTU鍗囩骇浣嗘湭瓒呮椂绛夊緟锛�1鏈塕TU鍗囩骇姝e父鎵ц */ - protected int countNoOneRtuUpgrade(){ + protected int countNoOneRtuUpgradeInDuration(){ if(this.upgradeRtus == null || upgradeRtus.size() == 0){ //褰撳墠娌℃湁浠讳綍涓�涓澶囪繘琛岃繃鍗囩骇 Long now = System.currentTimeMillis() ; @@ -297,7 +308,7 @@ /** * 缁熻褰撳墠姝e湪鍗囩骇鐨凴TU鏁伴噺锛屼负鍚屾椂鍗囩骇鏁伴噺闄愬埗鍋氬噯澶� */ - protected void statisticsRunningRtuCount(){ + protected void countRunningRtuCount(){ int runningTotal = 0 ; Collection<UpgradeRtu> col = this.upgradeRtus.values() ; for(UpgradeRtu info : col){ @@ -309,9 +320,9 @@ } /** - * 缁熻闇�瑕佸崌绾т絾褰撳墠绂荤嚎RTU鐨勬儏鍐� + * 缁熻闇�瑕佸崌绾т絾褰撳墠绂荤嚎RTU鐨勬儏鍐碉紝瓒呰繃鏃堕檺鐨勮澶囦负鍗囩骇瀹屾垚 */ - protected void statisticsOffRtuCountAndSet() { + protected void countOffRtuAndSetIfOver() { Long now = System.currentTimeMillis() ; if(now - this.setupDtLong > UpgradeUnit.confVo.rtuOffLineWaitDuration){ //rtu绂荤嚎锛岀瓑寰呭叾鍗囩骇鐨勬椂闀�(姣)锛岃秴杩囬厤缃殑鏈�澶ф椂闀匡紝璁剧疆鍏跺崌绾уけ璐ワ紝涓旇缃崌绾т换鍔″畬鎴� @@ -330,7 +341,7 @@ /** * 缁熻鏄惁鍗囩骇鍏ㄩ儴缁撴潫 */ - protected boolean statisticsIsAllOver() { + protected boolean countIsAllOver() { if (this.taskVo.rtuAddrList != null && this.taskVo.rtuAddrList.size() > 0) { Collection<UpgradeRtu> col = this.upgradeRtus.values() ; for(UpgradeRtu info : col){ -- Gitblit v1.8.0