|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 堆垛机mq交换机 | 
|---|
|  |  |  | private static final Map<Integer, LinkedBlockingQueue<Task>> CRN_EXCHANGE = new ConcurrentHashMap<>(); | 
|---|
|  |  |  | // RGV mq交换机 | 
|---|
|  |  |  | private static final Map<Integer, LinkedBlockingQueue<Task>> RGV_EXCHANGE = new ConcurrentHashMap<>(); | 
|---|
|  |  |  | // 输送线mq交换机 | 
|---|
|  |  |  | private static final Map<Integer, ConcurrentLinkedQueue<Task>> DEVP_EXCHANGE = new ConcurrentHashMap<>(); | 
|---|
|  |  |  | // 条码扫描仪mq交换机 | 
|---|
|  |  |  | 
|---|
|  |  |  | // 台车mq交换机 | 
|---|
|  |  |  | private static final Map<Integer, ConcurrentLinkedQueue<Task>> CAR_EXCHANGE = new ConcurrentHashMap<>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private static final Map<Integer, ConcurrentLinkedQueue<Task>> JAR_EXCHANGE = new ConcurrentHashMap<>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private static final Map<Integer, ConcurrentLinkedQueue<Task>> STE_EXCHANGE = new ConcurrentHashMap<>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * mq 交换机初始化 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | 
|---|
|  |  |  | switch (type) { | 
|---|
|  |  |  | case Crn: | 
|---|
|  |  |  | CRN_EXCHANGE.put(slave.getId(), new LinkedBlockingQueue<>(1)); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case Rgv: | 
|---|
|  |  |  | RGV_EXCHANGE.put(slave.getId(), new LinkedBlockingQueue<>(1)); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case Devp: | 
|---|
|  |  |  | DEVP_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>()); | 
|---|
|  |  |  | 
|---|
|  |  |  | case Car: | 
|---|
|  |  |  | CAR_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>()); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case Jar: | 
|---|
|  |  |  | JAR_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>()); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case Ste: | 
|---|
|  |  |  | STE_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>()); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | default: | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | switch (type) { | 
|---|
|  |  |  | case Crn: | 
|---|
|  |  |  | return CRN_EXCHANGE.get(id).offer(task); | 
|---|
|  |  |  | case Rgv: | 
|---|
|  |  |  | return RGV_EXCHANGE.get(id).offer(task); | 
|---|
|  |  |  | case Devp: | 
|---|
|  |  |  | return DEVP_EXCHANGE.get(id).offer(task); | 
|---|
|  |  |  | case Barcode: | 
|---|
|  |  |  | 
|---|
|  |  |  | return SCALE_EXCHANGE.get(id).offer(task); | 
|---|
|  |  |  | case Car: | 
|---|
|  |  |  | return CAR_EXCHANGE.get(id).offer(task); | 
|---|
|  |  |  | case Jar: | 
|---|
|  |  |  | return JAR_EXCHANGE.get(id).offer(task); | 
|---|
|  |  |  | case Ste: | 
|---|
|  |  |  | return STE_EXCHANGE.get(id).offer(task); | 
|---|
|  |  |  | default: | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | switch (type) { | 
|---|
|  |  |  | case Crn: | 
|---|
|  |  |  | return CRN_EXCHANGE.get(id).poll(); | 
|---|
|  |  |  | case Rgv: | 
|---|
|  |  |  | return RGV_EXCHANGE.get(id).poll(); | 
|---|
|  |  |  | case Devp: | 
|---|
|  |  |  | return DEVP_EXCHANGE.get(id).poll(); | 
|---|
|  |  |  | case Barcode: | 
|---|
|  |  |  | 
|---|
|  |  |  | return SCALE_EXCHANGE.get(id).poll(); | 
|---|
|  |  |  | case Car: | 
|---|
|  |  |  | return CAR_EXCHANGE.get(id).poll(); | 
|---|
|  |  |  | case Jar: | 
|---|
|  |  |  | return JAR_EXCHANGE.get(id).poll(); | 
|---|
|  |  |  | case Ste: | 
|---|
|  |  |  | return STE_EXCHANGE.get(id).poll(); | 
|---|
|  |  |  | default: | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | switch (type) { | 
|---|
|  |  |  | case Crn: | 
|---|
|  |  |  | return CRN_EXCHANGE.get(id).peek(); | 
|---|
|  |  |  | case Rgv: | 
|---|
|  |  |  | return RGV_EXCHANGE.get(id).peek(); | 
|---|
|  |  |  | case Devp: | 
|---|
|  |  |  | return DEVP_EXCHANGE.get(id).peek(); | 
|---|
|  |  |  | case Barcode: | 
|---|
|  |  |  | 
|---|
|  |  |  | return SCALE_EXCHANGE.get(id).peek(); | 
|---|
|  |  |  | case Car: | 
|---|
|  |  |  | return CAR_EXCHANGE.get(id).peek(); | 
|---|
|  |  |  | case Jar: | 
|---|
|  |  |  | return JAR_EXCHANGE.get(id).peek(); | 
|---|
|  |  |  | case Ste: | 
|---|
|  |  |  | return STE_EXCHANGE.get(id).peek(); | 
|---|
|  |  |  | default: | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | switch (type) { | 
|---|
|  |  |  | case Crn: | 
|---|
|  |  |  | CRN_EXCHANGE.get(id).clear(); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case Rgv: | 
|---|
|  |  |  | RGV_EXCHANGE.get(id).clear(); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case Devp: | 
|---|
|  |  |  | DEVP_EXCHANGE.get(id).clear(); | 
|---|
|  |  |  | 
|---|
|  |  |  | case Car: | 
|---|
|  |  |  | CAR_EXCHANGE.get(id).clear(); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case Jar: | 
|---|
|  |  |  | JAR_EXCHANGE.get(id).clear(); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case Ste: | 
|---|
|  |  |  | STE_EXCHANGE.get(id).clear(); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | default: | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|