From 96cfc17f191fee0a05070ec8e7bb6fb099f0231c Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期三, 24 十二月 2025 14:28:42 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/ServerBootstrap.java | 110 ++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 72 insertions(+), 38 deletions(-)
diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java
index b0cb5a0..4912e40 100644
--- a/src/main/java/com/zy/core/ServerBootstrap.java
+++ b/src/main/java/com/zy/core/ServerBootstrap.java
@@ -9,6 +9,7 @@
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.thread.impl.ZySiemensCrnThread;
+import com.zy.core.thread.impl.ZySiemensDualCrnThread;
import com.zy.core.thread.impl.ZyStationThread;
import com.zy.core.thread.impl.ZyRgvThread;
@@ -17,7 +18,6 @@
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
-import javax.annotation.PreDestroy;
import java.util.List;
/**
@@ -37,7 +37,6 @@
@Async
public void init() throws InterruptedException {
News.info("鏍稿績鎺у埗灞傚紑濮嬪垵濮嬪寲...............................................");
- Thread.sleep(2000);
// 鍒濆鍖栨秷鎭槦鍒�
initMq();
// 鍒濆鍖栦笅浣嶆満绾跨▼
@@ -53,6 +52,12 @@
.eq("device_type", String.valueOf(SlaveType.Crn)));
for (DeviceConfig crn : crnList) {
MessageQueue.init(SlaveType.Crn, crn.getDeviceNo());
+ }
+ // 鍒濆鍖栧弻宸ヤ綅鍫嗗灈鏈簃q
+ List<DeviceConfig> dualCrnList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+ .eq("device_type", String.valueOf(SlaveType.DualCrn)));
+ for (DeviceConfig crn : dualCrnList) {
+ MessageQueue.init(SlaveType.DualCrn, crn.getDeviceNo());
}
// 鍒濆鍖朢gv灏忚溅mq
List<DeviceConfig> rgvList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
@@ -81,57 +86,86 @@
}
private void initThread(){
- News.info("鍒濆鍖栧爢鍨涙満........................................................");
List<DeviceConfig> crnList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
.eq("device_type", String.valueOf(SlaveType.Crn)));
- for (DeviceConfig deviceConfig : crnList) {
- ThreadHandler thread = null;
- if (deviceConfig.getThreadImpl().equals("ZySiemensCrnThread")) {
- thread = new ZySiemensCrnThread(deviceConfig, redisUtil);
- } else {
- throw new CoolException("鏈煡鐨勭嚎绋嬪疄鐜�");
- }
+ if(!crnList.isEmpty()) {
+ News.info("鍒濆鍖栧爢鍨涙満........................................................");
+ for (DeviceConfig deviceConfig : crnList) {
+ ThreadHandler thread = null;
+ if (deviceConfig.getThreadImpl().equals("ZySiemensCrnThread")) {
+ thread = new ZySiemensCrnThread(deviceConfig, redisUtil);
+ } else {
+ throw new CoolException("鏈煡鐨勭嚎绋嬪疄鐜�");
+ }
- new Thread(thread).start();
- SlaveConnection.put(SlaveType.Crn, deviceConfig.getDeviceNo(), thread);
+ Thread t = new Thread(thread);
+ t.setName("CrnThread-" + deviceConfig.getDeviceNo());
+ t.setDaemon(true);
+ t.start();
+ SlaveConnection.put(SlaveType.Crn, deviceConfig.getDeviceNo(), thread);
+ }
}
- News.info("鍒濆鍖栬緭閫佺珯........................................................");
+ List<DeviceConfig> dualCrnList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+ .eq("device_type", String.valueOf(SlaveType.DualCrn)));
+ if(!dualCrnList.isEmpty()) {
+ News.info("鍒濆鍖栧弻宸ヤ綅鍫嗗灈鏈�........................................................");
+ for (DeviceConfig deviceConfig : dualCrnList) {
+ ThreadHandler thread = null;
+ if (deviceConfig.getThreadImpl().equals("ZySiemensDualCrnThread")) {
+ thread = new ZySiemensDualCrnThread(deviceConfig, redisUtil);
+ } else {
+ throw new CoolException("鏈煡鐨勭嚎绋嬪疄鐜�");
+ }
+
+ Thread t = new Thread(thread);
+ t.setName("DualCrnThread-" + deviceConfig.getDeviceNo());
+ t.setDaemon(true);
+ t.start();
+ SlaveConnection.put(SlaveType.DualCrn, deviceConfig.getDeviceNo(), thread);
+ }
+ }
+
List<DeviceConfig> devpList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
.eq("device_type", String.valueOf(SlaveType.Devp)));
- for (DeviceConfig deviceConfig : devpList) {
- ThreadHandler thread = null;
- if (deviceConfig.getThreadImpl().equals("ZyStationThread")) {
- thread = new ZyStationThread(deviceConfig, redisUtil);
- } else {
- throw new CoolException("鏈煡鐨勭嚎绋嬪疄鐜�");
- }
+ if(!devpList.isEmpty()) {
+ News.info("鍒濆鍖栬緭閫佺珯........................................................");
+ for (DeviceConfig deviceConfig : devpList) {
+ ThreadHandler thread = null;
+ if (deviceConfig.getThreadImpl().equals("ZyStationThread")) {
+ thread = new ZyStationThread(deviceConfig, redisUtil);
+ } else {
+ throw new CoolException("鏈煡鐨勭嚎绋嬪疄鐜�");
+ }
- new Thread(thread).start();
- SlaveConnection.put(SlaveType.Devp, deviceConfig.getDeviceNo(), thread);
+ Thread t = new Thread(thread);
+ t.setName("DevpThread-" + deviceConfig.getDeviceNo());
+ t.setDaemon(true);
+ t.start();
+ SlaveConnection.put(SlaveType.Devp, deviceConfig.getDeviceNo(), thread);
+ }
}
- News.info("鍒濆鍖朢GV........................................................");
List<DeviceConfig> rgvList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
.eq("device_type", String.valueOf(SlaveType.Rgv)));
- for (DeviceConfig deviceConfig : rgvList) {
- ThreadHandler thread = null;
- if (deviceConfig.getThreadImpl().equals("ZyRgvThread")) {
- thread = new ZyRgvThread(deviceConfig, redisUtil);
- } else {
- throw new CoolException("鏈煡鐨勭嚎绋嬪疄鐜�");
- }
+ if(!rgvList.isEmpty()) {
+ News.info("鍒濆鍖朢GV........................................................");
+ for (DeviceConfig deviceConfig : rgvList) {
+ ThreadHandler thread = null;
+ if (deviceConfig.getThreadImpl().equals("ZyRgvThread")) {
+ thread = new ZyRgvThread(deviceConfig, redisUtil);
+ } else {
+ throw new CoolException("鏈煡鐨勭嚎绋嬪疄鐜�");
+ }
- new Thread(thread).start();
- SlaveConnection.put(SlaveType.Rgv, deviceConfig.getDeviceNo(), thread);
+ Thread t = new Thread(thread);
+ t.setName("RgvThread-" + deviceConfig.getDeviceNo());
+ t.setDaemon(true);
+ t.start();
+ SlaveConnection.put(SlaveType.Rgv, deviceConfig.getDeviceNo(), thread);
+ }
}
}
-
-
- @PreDestroy
- public void destroy() {
- }
-
}
--
Gitblit v1.9.1