#
zhou zhou
1 天以前 6bbfef82d3019f01bd88e84da5bb83311ffdf844
src/main/java/com/zy/core/ServerBootstrap.java
@@ -1,19 +1,22 @@
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.CrnSlave;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.LedSlave;
import com.zy.core.model.RgvSlave;
import com.zy.core.model.RFIDSlave;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.thread.*;
import com.zy.core.thread.BarcodeThread;
import com.zy.core.thread.LedThread;
import com.zy.core.thread.RFIDThread;
import com.zy.core.thread.SiemensCrnThread;
import com.zy.core.thread.SiemensDevpThread;
import com.zy.utils.News;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
@@ -74,14 +77,18 @@
        for (Slave led : slaveProperties.getLed()) {
            MessageQueue.init(SlaveType.Led, led);
        }
        // 初始化RFID读写器mq
        for (Slave rfid : slaveProperties.getRfid()) {
            MessageQueue.init(SlaveType.Rfid, rfid);
        }
        // 初始化磅称mq
        for (Slave scale : slaveProperties.getScale()) {
            MessageQueue.init(SlaveType.Scale, scale);
        }
//        for (Slave scale : slaveProperties.getScale()) {
//            MessageQueue.init(SlaveType.Scale, scale);
//        }
        // 初始化台车mq
        for (Slave car : slaveProperties.getCar()) {
            MessageQueue.init(SlaveType.Car, car);
        }
//        for (Slave car : slaveProperties.getCar()) {
//            MessageQueue.init(SlaveType.Car, car);
//        }
    }
    private void initThread(){
@@ -93,12 +100,12 @@
            SlaveConnection.put(SlaveType.Crn, crn.getId(), crnThread);
        }
        // 初始化穿梭车线程
        log.info("初始化RGV线程...................................................");
        for (RgvSlave rgv : slaveProperties.getRgv()) {
            RgvThread rgvThread = new RgvThread(rgv);
            new Thread((Runnable) rgvThread).start();
            SlaveConnection.put(SlaveType.Rgv, rgv.getId(), rgvThread);
        }
//        log.info("初始化RGV线程...................................................");
//        for (RgvSlave rgv : slaveProperties.getRgv()) {
//            RgvThread rgvThread = new RgvThread(rgv);
//            new Thread((Runnable) rgvThread).start();
//            SlaveConnection.put(SlaveType.Rgv, rgv.getId(), rgvThread);
//        }
        // 初始化输送线线程
        News.info("初始化输送线线程...................................................");
        for (DevpSlave devp : slaveProperties.getDevp()) {
@@ -120,6 +127,19 @@
            new Thread(ledThread).start();
            SlaveConnection.put(SlaveType.Led, led.getId(), ledThread);
        }
        // 初始化RFID读写器线程
        // 注意:如果RFID设备配置了autoConnect=true,将由RFIDAutoConnectService管理,这里跳过
        News.info("初始化RFID读写器线程...................................................");
        for (RFIDSlave rfid : slaveProperties.getRfid()) {
            // 如果启用了自动连接,跳过RFIDThread的创建(由RFIDAutoConnectService管理)
            if (rfid.getAutoConnect() != null && rfid.getAutoConnect()) {
                News.info("RFID设备[{}]已启用自动连接,跳过RFIDThread初始化", rfid.getId());
                continue;
            }
            RFIDThread rfidThread = new RFIDThread(rfid);
            new Thread(rfidThread).start();
            SlaveConnection.put(SlaveType.Rfid, rfid.getId(), rfidThread);
        }
        // 初始化磅秤线程
//        News.info("初始化磅秤线程...................................................");
//        for (Slave scale : slaveProperties.getScale()) {