From 14f2c4fce50c871d84f89d2dca2298e0892b4672 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期二, 05 五月 2026 08:25:26 +0800
Subject: [PATCH] Merge branch 'rcs_master_1.0' into rcs_master_all

---
 zy-acs-cv/src/main/java/com/zy/core/ServerBootstrap.java |   84 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 84 insertions(+), 0 deletions(-)

diff --git a/zy-acs-cv/src/main/java/com/zy/core/ServerBootstrap.java b/zy-acs-cv/src/main/java/com/zy/core/ServerBootstrap.java
new file mode 100644
index 0000000..1f9e312
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/ServerBootstrap.java
@@ -0,0 +1,84 @@
+package com.zy.core;
+
+import com.zy.common.utils.News;
+import com.zy.core.cache.MessageQueue;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.DevpSlave;
+import com.zy.core.properties.SlaveProperties;
+import com.zy.core.thread.BarcodeThread;
+import com.zy.core.thread.SiemensDevpThread;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.DependsOn;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+
+/**
+ * Created by vincent on 2020/8/4
+ */
+@Slf4j
+@Component
+@DependsOn("springContextUtil")
+public class ServerBootstrap {
+
+    @Autowired
+    private SlaveProperties slaveProperties;
+
+    /**
+     * PostConstruct浼氬湪鍔犺浇servlet鐨勬椂鍊欒繍琛屼竴娆�
+     *
+     * @throws InterruptedException
+     */
+    @PostConstruct
+    @Async
+    @DependsOn("basDevpService")
+    public void init() throws InterruptedException {
+        News.info("鏍稿績鎺у埗灞傚紑濮嬪垵濮嬪寲...............................................");
+        Thread.sleep(2000);
+        // 鍒濆鍖栨秷鎭槦鍒�
+        initMq();
+        // 鍒濆鍖栦笅浣嶆満绾跨▼
+        initThread();
+
+        News.info("鏍稿績鎺у埗灞傚凡鍚姩...............................................");
+    }
+
+    private void initMq() {
+        // 鍒濆鍖栬緭閫佺嚎mq
+        for (Slave devp : slaveProperties.getDevp()) {
+            MessageQueue.init(SlaveType.Devp, devp);
+        }
+        // 鍒濆鍖栨潯鐮佹壂鎻忎华mq
+        for (Slave barcode : slaveProperties.getBarcode()) {
+            MessageQueue.init(SlaveType.Barcode, barcode);
+        }
+    }
+
+    private void initThread() {
+
+        // 鍒濆鍖栬緭閫佺嚎绾跨▼
+        News.info("鍒濆鍖栬緭閫佺嚎绾跨▼...................................................");
+        for (DevpSlave devp : slaveProperties.getDevp()) {
+            DevpThread devpThread = new SiemensDevpThread(devp);
+            new Thread((Runnable) devpThread).start();
+            SlaveConnection.put(SlaveType.Devp, devp.getId(), devpThread);
+        }
+        // 鍒濆鍖栨潯鐮佹壂鎻忎华绾跨▼
+        News.info("鍒濆鍖栨潯鐮佹壂鎻忎华绾跨▼...................................................");
+        for (Slave barcode : slaveProperties.getBarcode()) {
+            BarcodeThread barcodeThread = new BarcodeThread(barcode);
+            new Thread(barcodeThread).start();
+            SlaveConnection.put(SlaveType.Barcode, barcode.getId(), barcodeThread);
+        }
+    }
+
+
+    @PreDestroy
+    public void destroy() {
+    }
+
+}

--
Gitblit v1.9.1