| | |
| | | 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; |
| | |
| | | for (Slave crn : slaveProperties.getCrn()) { |
| | | MessageQueue.init(SlaveType.Crn, crn); |
| | | } |
| | | // 初始化堆垛机mq |
| | | for (Slave rgv : slaveProperties.getRgv()) { |
| | | MessageQueue.init(SlaveType.Rgv, rgv); |
| | | } |
| | | // // 初始化RGVmq |
| | | // for (Slave rgv : slaveProperties.getRgv()) { |
| | | // MessageQueue.init(SlaveType.Rgv, rgv); |
| | | // } |
| | | // 初始化输送线mq |
| | | for (Slave devp : slaveProperties.getDevp()) { |
| | | MessageQueue.init(SlaveType.Devp, devp); |
| | |
| | | for (Slave scale : slaveProperties.getScale()) { |
| | | MessageQueue.init(SlaveType.Scale, scale); |
| | | } |
| | | // 初始化硫化罐mq |
| | | for (Slave jar : slaveProperties.getJar()) { |
| | | MessageQueue.init(SlaveType.Jar, jar); |
| | | } |
| | | // // 初始化台车mq |
| | | // for (Slave car : slaveProperties.getCar()) { |
| | | // MessageQueue.init(SlaveType.Car, car); |
| | | // } |
| | | // 初始化Stemq |
| | | for (Slave ste : slaveProperties.getSte()) { |
| | | MessageQueue.init(SlaveType.Ste, ste); |
| | | } |
| | | } |
| | | |
| | | private void initThread(){ |
| | |
| | | new Thread(ledThread).start(); |
| | | SlaveConnection.put(SlaveType.Led, led.getId(), ledThread); |
| | | } |
| | | // 初始化jar线程 |
| | | log.info("初始化jar线程..................................................."); |
| | | for (JarSlave jar : slaveProperties.getJar()) { |
| | | JarThread jarThread = new JarThread(jar); |
| | | new Thread(jarThread).start(); |
| | | SlaveConnection.put(SlaveType.Jar, jar.getId(), jarThread); |
| | | } |
| | | // 初始化Ste线程 |
| | | log.info("初始化ste线程..................................................."); |
| | | 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); |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | @Component |
| | | class killThread { |
| | | |
| | | @Scheduled(cron = "0/3 * * * * ? ") |
| | | // @Scheduled(cron = "0/3 * * * * ? ") |
| | | public void kill() { |
| | | for (Map.Entry<CrnThread, Thread> entry : map.entrySet()) { |
| | | CRN_COUNT++; |
| | |
| | | continue; |
| | | } |
| | | if (System.currentTimeMillis() - key.getSign() > 120000 && System.currentTimeMillis() - key.getSign()<1200000) { |
| | | System.out.println("第"+CRN_COUNT+"个堆垛机线程被重启"); |
| | | System.out.println("第" + CRN_COUNT + "个堆垛机线程被重启"); |
| | | |
| | | // 请求线程安全停止 |
| | | key.requestStop(); |