| | |
| | | for (Slave crn : slaveProperties.getCrn()) { |
| | | MessageQueue.init(SlaveType.Crn, crn); |
| | | } |
| | | // 初始化RGVmq |
| | | 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); |
| | |
| | | map.put(crnThread, thread); |
| | | 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); |
| | | // } |
| | | // 初始化输送线线程 |
| | | log.info("初始化输送线线程..................................................."); |
| | | for (DevpSlave devp : slaveProperties.getDevp()) { |
| | |
| | | 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(); |