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