From 8cefc269417c56c19c0e7a27ae02d584396fb3a5 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 13 三月 2025 12:46:20 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/Slave.java           |    2 ++
 src/main/resources/application.yml             |    3 +++
 src/main/java/com/zy/core/ServerBootstrap.java |   26 ++++++++++++++++++++------
 3 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java
index bab666b..5420fbd 100644
--- a/src/main/java/com/zy/core/ServerBootstrap.java
+++ b/src/main/java/com/zy/core/ServerBootstrap.java
@@ -1,5 +1,6 @@
 package com.zy.core;
 
+import com.core.exception.CoolException;
 import com.zy.common.utils.RedisUtil;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.SlaveConnection;
@@ -61,16 +62,29 @@
         // 鍒濆鍖栬揣鍙夋彁鍗囨満
         News.info("鍒濆鍖栬揣鍙夋彁鍗囨満........................................................");
         for (ForkLiftSlave forkLiftSlave : slaveProperties.getForkLift()) {
-            ZyForkLiftThread forkLiftThread = new ZyForkLiftThread(forkLiftSlave, redisUtil);
-            new Thread(forkLiftThread).start();
-            SlaveConnection.put(SlaveType.ForkLift, forkLiftSlave.getId(), forkLiftThread);
+            ThreadHandler thread = null;
+            if (forkLiftSlave.getThreadImpl().equals("ZyForkLiftThread")) {
+                thread = new ZyForkLiftThread(forkLiftSlave, redisUtil);
+            } else {
+                throw new CoolException("鏈煡鐨勭嚎绋嬪疄鐜�");
+            }
+
+            new Thread(thread).start();
+            SlaveConnection.put(SlaveType.ForkLift, forkLiftSlave.getId(), thread);
         }
+
         // 鍒濆鍖栧洓鍚戠┛姊溅
         News.info("鍒濆鍖栧洓鍚戠┛姊溅......................................................");
         for (ShuttleSlave shuttleSlave : slaveProperties.getShuttle()) {
-            NyShuttleThread shuttleThread = new NyShuttleThread(shuttleSlave,redisUtil);
-            new Thread(shuttleThread).start();
-            SlaveConnection.put(SlaveType.Shuttle, shuttleSlave.getId(), shuttleThread);
+            ThreadHandler thread = null;
+            if (shuttleSlave.getThreadImpl().equals("NyShuttleThread")) {
+                thread = new NyShuttleThread(shuttleSlave, redisUtil);
+            } else {
+                throw new CoolException("鏈煡鐨勭嚎绋嬪疄鐜�");
+            }
+
+            new Thread(thread).start();
+            SlaveConnection.put(SlaveType.Shuttle, shuttleSlave.getId(), thread);
         }
     }
 
diff --git a/src/main/java/com/zy/core/Slave.java b/src/main/java/com/zy/core/Slave.java
index 5d38e9d..db9c73f 100644
--- a/src/main/java/com/zy/core/Slave.java
+++ b/src/main/java/com/zy/core/Slave.java
@@ -14,4 +14,6 @@
 
     private Integer port;
 
+    private String threadImpl;
+
 }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 081f3c3..2374651 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -51,6 +51,7 @@
     port: 8888
     rack: 0
     slot: 0
+    threadImpl: NyShuttleThread
   # 鍥涘悜绌挎杞�2
   shuttle[1]:
     id: 2
@@ -58,6 +59,7 @@
     port: 8888
     rack: 0
     slot: 0
+    threadImpl: NyShuttleThread
   # 璐у弶鎻愬崌鏈�1
   forkLift[0]:
     id: 1
@@ -65,6 +67,7 @@
     port: 102
     rack: 0
     slot: 0
+    threadImpl: ZyForkLiftThread
     staRow: 9
     staBay: 6
     sta[0]:

--
Gitblit v1.9.1