From fcb71b8fc63f74cd00d3faa76c73f4c5566ee352 Mon Sep 17 00:00:00 2001 From: zc <zc@123> Date: 星期三, 07 五月 2025 23:23:09 +0800 Subject: [PATCH] 解决提升机在本层,而没有锁提升机的问题 --- src/main/java/com/zy/core/ServerBootstrap.java | 70 +++++++++++++++++++++++++++++++--- 1 files changed, 63 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java index 5420fbd..c824e07 100644 --- a/src/main/java/com/zy/core/ServerBootstrap.java +++ b/src/main/java/com/zy/core/ServerBootstrap.java @@ -7,9 +7,7 @@ import com.zy.core.enums.SlaveType; import com.zy.core.model.*; import com.zy.core.properties.SlaveProperties; -import com.zy.core.thread.*; -import com.zy.core.thread.impl.NyShuttleThread; -import com.zy.core.thread.impl.ZyForkLiftThread; +import com.zy.core.thread.impl.*; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; @@ -47,24 +45,34 @@ News.info("鏍稿績鎺у埗灞傚凡鍚姩..............................................."); } - private void initMq(){ + private void initMq() { // 鍒濆鍖栬揣鍙夋彁鍗囨満mq for (Slave forkLift : slaveProperties.getForkLift()) { MessageQueue.init(SlaveType.ForkLift, forkLift); + } + // 鍒濆鍖栨彁鍗囨満mq + for (Slave forkLift : slaveProperties.getForkLift()) { + MessageQueue.init(SlaveType.Lift, forkLift); } // 鍒濆鍖栧洓鍚戠┛姊溅mq for (Slave shuttle : slaveProperties.getShuttle()) { MessageQueue.init(SlaveType.Shuttle, shuttle); } + // 鍒濆鍖栬緭閫佺嚎mq + for (Slave devp : slaveProperties.getDevp()) { + MessageQueue.init(SlaveType.Devp, devp); + } } - private void initThread(){ + private void initThread() { // 鍒濆鍖栬揣鍙夋彁鍗囨満 - News.info("鍒濆鍖栬揣鍙夋彁鍗囨満........................................................"); for (ForkLiftSlave forkLiftSlave : slaveProperties.getForkLift()) { + News.info("鍒濆鍖栬揣鍙夋彁鍗囨満........................................................"); ThreadHandler thread = null; if (forkLiftSlave.getThreadImpl().equals("ZyForkLiftThread")) { thread = new ZyForkLiftThread(forkLiftSlave, redisUtil); + } else if (forkLiftSlave.getThreadImpl().equals("LfdZyForkLiftSlaveThread")) { + thread = new LfdZyForkLiftSlaveThread(forkLiftSlave, redisUtil, forkLiftSlave.getMasterId()); } else { throw new CoolException("鏈煡鐨勭嚎绋嬪疄鐜�"); } @@ -73,9 +81,37 @@ SlaveConnection.put(SlaveType.ForkLift, forkLiftSlave.getId(), thread); } + // 鍒濆鍖栬揣鍙夋彁鍗囨満 + for (ForkLiftSlave forkLiftSlave : slaveProperties.getForkLiftMaster()) { + News.info("鍒濆鍖栬揣鍙夋彁鍗囨満Master........................................................"); + ThreadHandler thread = null; + if (forkLiftSlave.getThreadImpl().equals("LfdZyForkLiftMasterThread")) { + thread = new LfdZyForkLiftMasterThread(forkLiftSlave, redisUtil); + } else { + throw new CoolException("鏈煡鐨勭嚎绋嬪疄鐜�"); + } + + new Thread(thread).start(); + SlaveConnection.put(SlaveType.ForkLiftMaster, forkLiftSlave.getId(), thread); + } + + // 鍒濆鍖栨彁鍗囨満 + for (LiftSlave slave : slaveProperties.getLift()) { + News.info("鍒濆鍖栨彁鍗囨満........................................................"); + ThreadHandler thread = null; + if (slave.getThreadImpl().equals("NyLiftThread")) { + thread = new NyLiftThread(slave, redisUtil); + } else { + throw new CoolException("鏈煡鐨勭嚎绋嬪疄鐜�"); + } + + new Thread(thread).start(); + SlaveConnection.put(SlaveType.Lift, slave.getId(), thread); + } + // 鍒濆鍖栧洓鍚戠┛姊溅 - News.info("鍒濆鍖栧洓鍚戠┛姊溅......................................................"); for (ShuttleSlave shuttleSlave : slaveProperties.getShuttle()) { + News.info("鍒濆鍖栧洓鍚戠┛姊溅......................................................"); ThreadHandler thread = null; if (shuttleSlave.getThreadImpl().equals("NyShuttleThread")) { thread = new NyShuttleThread(shuttleSlave, redisUtil); @@ -86,6 +122,26 @@ new Thread(thread).start(); SlaveConnection.put(SlaveType.Shuttle, shuttleSlave.getId(), thread); } + // 鍒濆鍖栬緭閫佺嚎 + for (DevpSlave devpSlave : slaveProperties.getDevp()) { + News.info("鍒濆鍖栬緭閫佺嚎......................................................"); + ThreadHandler thread = null; + if (devpSlave.getThreadImpl().equals("FyDevpThread")) { + thread = new FyDevpThread(devpSlave); + } else { + throw new CoolException("鏈煡鐨勭嚎绋嬪疄鐜�"); + } + new Thread(thread).start(); + SlaveConnection.put(SlaveType.Devp, devpSlave.getId(), thread); + } + + // 鍒濆鍖栫數瑙嗘満 + for (LedSlave ledSlave : slaveProperties.getLed()) { + News.info("鍒濆鍖栫數瑙嗘満......................................................"); + ThreadHandler thread = new NormalLedThread(ledSlave); + new Thread(thread).start(); + SlaveConnection.put(SlaveType.Led, ledSlave.getId(), thread); + } } -- Gitblit v1.9.1