From 7bc95e6e6a4fa999172c3aed838eb70e4a2b273b Mon Sep 17 00:00:00 2001 From: huangfeng Date: Wed, 6 Nov 2024 09:28:21 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E5=85=B3=E6=9C=BA?= =?UTF-8?q?=E7=AD=89=E5=BE=85=E6=97=B6=E9=97=B4=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/xydl/cac/iec/IecClient.java | 6 +++--- src/main/java/com/xydl/cac/model/StaticVariable.java | 8 ++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/xydl/cac/iec/IecClient.java b/src/main/java/com/xydl/cac/iec/IecClient.java index 5b5a653..04cc63b 100644 --- a/src/main/java/com/xydl/cac/iec/IecClient.java +++ b/src/main/java/com/xydl/cac/iec/IecClient.java @@ -173,14 +173,14 @@ public class IecClient implements ClientEventListener { retry--; try { if (retry >= 5) { - Thread.sleep(10 * 1000); + StaticVariable.wait(10); this.reconnect(); } else if (retry == 4) { log.warn("61850订阅断线重连已失败5次, ied=" + ied.getName() + ", ip=" + ied.getIp() + ", port=" + ied.getPort()); - Thread.sleep(60 * 1000); + StaticVariable.wait(60); this.reconnect(); } else if (retry >= 1) { - Thread.sleep(60 * 1000); + StaticVariable.wait(60); this.reconnect(); } else { String err = "61850订阅断线重连已失败多次不再重连. ied=" + ied.getName() + ", ip=" + ied.getIp() + ", port=" + ied.getPort(); diff --git a/src/main/java/com/xydl/cac/model/StaticVariable.java b/src/main/java/com/xydl/cac/model/StaticVariable.java index 7c45c20..7789776 100644 --- a/src/main/java/com/xydl/cac/model/StaticVariable.java +++ b/src/main/java/com/xydl/cac/model/StaticVariable.java @@ -26,4 +26,12 @@ public class StaticVariable { public static List zsb_Cache = null; public static ConcurrentHashMap rule_Cache = new ConcurrentHashMap<>(); + public static void wait(int seconds) throws InterruptedException { + for (int i = 0; i < seconds; i++) { + if (shutdown == 1) { + break; + } + Thread.sleep(1000); + } + } }