From ebf01d1fff86f44c3b56151b5fefe6b92b30eab8 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期一, 01 四月 2024 18:24:28 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/SiemensCrnThread.java | 14 ++++++++++++--
src/main/java/com/zy/core/ServerBootstrap.java | 16 ++++++++++------
2 files changed, 22 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java
index bf699d1..1749382 100644
--- a/src/main/java/com/zy/core/ServerBootstrap.java
+++ b/src/main/java/com/zy/core/ServerBootstrap.java
@@ -35,6 +35,8 @@
@Autowired
private MainProcess mainProcess;
+ int CRN_COUNT = 0;
+
public static final Map<CrnThread, Thread> map = new ConcurrentHashMap<>();
/**
@@ -132,13 +134,15 @@
@Scheduled(cron = "0/3 * * * * ? ")
public void kill() {
- int i = 0;
for (Map.Entry<CrnThread, Thread> entry : map.entrySet()) {
- i++;
- MelsecCrnThread key = (MelsecCrnThread) entry.getKey();
- System.out.println("绗�"+i+"涓爢鍨涙満绾跨▼閲嶅惎绾跨▼鏉′欢锛�"+(System.currentTimeMillis() - key.getSign()));
- if (System.currentTimeMillis() - key.getSign() > 120000) {
- System.out.println("绗�"+i+"涓爢鍨涙満绾跨▼琚噸鍚�");
+ CRN_COUNT++;
+ SiemensCrnThread key = (SiemensCrnThread) entry.getKey();
+// System.out.println("绗�"+i+"涓爢鍨涙満绾跨▼閲嶅惎绾跨▼鏉′欢锛�"+(System.currentTimeMillis() - key.getSign()));
+ if (CRN_COUNT>10000){
+ continue;
+ }
+ if (System.currentTimeMillis() - key.getSign() > 120000 && System.currentTimeMillis() - key.getSign()<1200000) {
+ System.out.println("绗�"+CRN_COUNT+"涓爢鍨涙満绾跨▼琚噸鍚�");
// 璇锋眰绾跨▼瀹夊叏鍋滄
key.requestStop();
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index ac81663..5ecdf33 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -40,6 +40,11 @@
private CrnProtocol crnProtocol;
private boolean resetFlag = false;
+ public Long sign = System.currentTimeMillis();
+
+ public boolean isRunning = true;
+
+
/**
* 鍫嗗灈鏈烘槸鍚﹀湪鍥炲師鐐硅繍鍔ㄤ腑鏍囪
*/
@@ -53,7 +58,7 @@
@SuppressWarnings("InfiniteLoopStatement")
public void run() {
this.connect();
- while (true) {
+ while (isRunning) {
try {
int step = 1;
Task task = MessageQueue.poll(SlaveType.Crn, slave.getId());
@@ -94,7 +99,7 @@
} catch (Exception e) {
// e.printStackTrace();
}
-
+ sign = System.currentTimeMillis();
}
}
@@ -414,4 +419,9 @@
}
+ // 鎻愪緵涓�涓柟娉曟潵鍋滄绾跨▼
+ public void requestStop() {
+ isRunning = false;
+ }
+
}
--
Gitblit v1.9.1