From a5e366c9143ff99bc5f707048a73f93a8d444bb8 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期二, 08 四月 2025 16:23:32 +0800 Subject: [PATCH] * --- src/main/java/com/zy/core/ServerBootstrap.java | 79 ++++++++++++++++++++++++++------------- 1 files changed, 52 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java index 0a6396f..9bb4f6d 100644 --- a/src/main/java/com/zy/core/ServerBootstrap.java +++ b/src/main/java/com/zy/core/ServerBootstrap.java @@ -3,10 +3,7 @@ import com.zy.core.cache.MessageQueue; import com.zy.core.cache.SlaveConnection; import com.zy.core.enums.SlaveType; -import com.zy.core.model.CrnSlave; -import com.zy.core.model.DevpSlave; -import com.zy.core.model.LedSlave; -import com.zy.core.model.RgvSlave; +import com.zy.core.model.*; import com.zy.core.properties.SlaveProperties; import com.zy.core.thread.*; import lombok.extern.slf4j.Slf4j; @@ -31,6 +28,8 @@ private SlaveProperties slaveProperties; @Autowired private MainProcess mainProcess; + + int CRN_COUNT = 0; public static final Map<CrnThread, Thread> map = new ConcurrentHashMap<>(); @@ -58,10 +57,10 @@ for (Slave crn : slaveProperties.getCrn()) { MessageQueue.init(SlaveType.Crn, crn); } - // 鍒濆鍖栧爢鍨涙満mq - for (Slave rgv : slaveProperties.getRgv()) { - MessageQueue.init(SlaveType.Rgv, rgv); - } +// // 鍒濆鍖朢GVmq +// for (Slave rgv : slaveProperties.getRgv()) { +// MessageQueue.init(SlaveType.Rgv, rgv); +// } // 鍒濆鍖栬緭閫佺嚎mq for (Slave devp : slaveProperties.getDevp()) { MessageQueue.init(SlaveType.Devp, devp); @@ -78,10 +77,18 @@ for (Slave scale : slaveProperties.getScale()) { MessageQueue.init(SlaveType.Scale, scale); } + // 鍒濆鍖栫~鍖栫綈mq + for (Slave jar : slaveProperties.getJar()) { + MessageQueue.init(SlaveType.Jar, jar); + } // // 鍒濆鍖栧彴杞q // for (Slave car : slaveProperties.getCar()) { // MessageQueue.init(SlaveType.Car, car); // } + // 鍒濆鍖朣temq + for (Slave ste : slaveProperties.getSte()) { + MessageQueue.init(SlaveType.Ste, ste); + } } private void initThread(){ @@ -89,16 +96,18 @@ log.info("鍒濆鍖栧爢鍨涙満绾跨▼..................................................."); for (CrnSlave crn : slaveProperties.getCrn()) { CrnThread crnThread = new SiemensCrnThread(crn); - new Thread((Runnable) crnThread).start(); + Thread thread = new Thread((Runnable) crnThread); + thread.start(); + map.put(crnThread, thread); SlaveConnection.put(SlaveType.Crn, crn.getId(), crnThread); } - // 鍒濆鍖栫┛姊溅绾跨▼ - log.info("鍒濆鍖朢GV绾跨▼..................................................."); - for (RgvSlave rgv : slaveProperties.getRgv()) { - RgvThread rgvThread = new RgvThread(rgv); - new Thread((Runnable) rgvThread).start(); - SlaveConnection.put(SlaveType.Rgv, rgv.getId(), rgvThread); - } +// // 鍒濆鍖栫┛姊溅绾跨▼ +// log.info("鍒濆鍖朢GV绾跨▼..................................................."); +// for (RgvSlave rgv : slaveProperties.getRgv()) { +// RgvThread rgvThread = new RgvThread(rgv); +// new Thread((Runnable) rgvThread).start(); +// SlaveConnection.put(SlaveType.Rgv, rgv.getId(), rgvThread); +// } // 鍒濆鍖栬緭閫佺嚎绾跨▼ log.info("鍒濆鍖栬緭閫佺嚎绾跨▼..................................................."); for (DevpSlave devp : slaveProperties.getDevp()) { @@ -121,13 +130,27 @@ new Thread(ledThread).start(); SlaveConnection.put(SlaveType.Led, led.getId(), ledThread); } + // 鍒濆鍖杍ar绾跨▼ + log.info("鍒濆鍖杍ar绾跨▼..................................................."); + for (JarSlave jar : slaveProperties.getJar()) { + JarThread jarThread = new JarThread(jar); + new Thread(jarThread).start(); + SlaveConnection.put(SlaveType.Jar, jar.getId(), jarThread); + } + // 鍒濆鍖朣te绾跨▼ + log.info("鍒濆鍖杝te绾跨▼..................................................."); + for (SteSlave ste : slaveProperties.getSte()) { + SteThread steThread = new SteThread(ste); + new Thread(steThread).start(); + SlaveConnection.put(SlaveType.Ste, ste.getId(), steThread); + } // 鍒濆鍖栫绉ょ嚎绋� -// log.info("鍒濆鍖栫绉ょ嚎绋�..................................................."); -// for (Slave scale : slaveProperties.getScale()) { -// ScaleThread barcodeThread = new ScaleThread(scale); -// new Thread(barcodeThread).start(); -// SlaveConnection.put(SlaveType.Scale, scale.getId(), barcodeThread); -// } + log.info("鍒濆鍖栫绉ょ嚎绋�..................................................."); + for (Slave scale : slaveProperties.getScale()) { + ScaleThread barcodeThread = new ScaleThread(scale); + new Thread(barcodeThread).start(); + SlaveConnection.put(SlaveType.Scale, scale.getId(), barcodeThread); + } } @@ -138,15 +161,17 @@ @Component class killThread { - @Scheduled(cron = "0/3 * * * * ? ") +// @Scheduled(cron = "0/3 * * * * ? ") public void kill() { - int i = 0; for (Map.Entry<CrnThread, Thread> entry : map.entrySet()) { - i++; + CRN_COUNT++; SiemensCrnThread key = (SiemensCrnThread) entry.getKey(); // System.out.println("绗�"+i+"涓爢鍨涙満绾跨▼閲嶅惎绾跨▼鏉′欢锛�"+(System.currentTimeMillis() - key.getSign())); - if (System.currentTimeMillis() - key.getSign() > 120000) { - System.out.println("绗�"+i+"涓爢鍨涙満绾跨▼琚噸鍚�"); + if (CRN_COUNT>10000){ + continue; + } + if (System.currentTimeMillis() - key.getSign() > 120000 && System.currentTimeMillis() - key.getSign()<1200000) { + System.out.println("绗�" + CRN_COUNT + "涓爢鍨涙満绾跨▼琚噸鍚�"); // 璇锋眰绾跨▼瀹夊叏鍋滄 key.requestStop(); -- Gitblit v1.9.1