diff --git a/src/main/java/com/xydl/cac/iec/IEDCollectService.java b/src/main/java/com/xydl/cac/iec/IEDCollectService.java index 7f360f5..dfefe1e 100644 --- a/src/main/java/com/xydl/cac/iec/IEDCollectService.java +++ b/src/main/java/com/xydl/cac/iec/IEDCollectService.java @@ -90,9 +90,8 @@ public class IEDCollectService { _webSocketServer.sendMessage(err, null); } if (ex instanceof SocketException) { - NetErrorThread thread = new NetErrorThread(); - thread.iedId = ied.getId(); - thread.run(); + NetErrorThread thread = new NetErrorThread(ied.getId()); + thread.start(); } } finally { iecClient.disconnect(); diff --git a/src/main/java/com/xydl/cac/iec/NetErrorThread.java b/src/main/java/com/xydl/cac/iec/NetErrorThread.java index de210c4..accfbdf 100644 --- a/src/main/java/com/xydl/cac/iec/NetErrorThread.java +++ b/src/main/java/com/xydl/cac/iec/NetErrorThread.java @@ -5,6 +5,10 @@ import com.xydl.cac.model.StaticVariable; public class NetErrorThread extends Thread { public int iedId; + public NetErrorThread(Integer iedid) { + iedId = iedid; + } + @Override public void run() { IecClient iecClient = StaticVariable.realTimeClientMap.get(iedId); diff --git a/src/main/java/com/xydl/cac/iec/RealTimeDataService.java b/src/main/java/com/xydl/cac/iec/RealTimeDataService.java index 8216e96..b34eb52 100644 --- a/src/main/java/com/xydl/cac/iec/RealTimeDataService.java +++ b/src/main/java/com/xydl/cac/iec/RealTimeDataService.java @@ -38,6 +38,8 @@ public class RealTimeDataService { try { this.startCollect(ied); } catch (Exception ignore) { + NetErrorThread thread = new NetErrorThread(ied.getId()); + thread.start(); } } }