From 4ec87f4d9d873487adda85686a1bfd7fa620f857 Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期六, 12 四月 2025 08:41:31 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/core/cache/MessageQueue.java | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 51 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/zy/core/cache/MessageQueue.java b/src/main/java/com/zy/core/cache/MessageQueue.java index 9d92365..d5c4d08 100644 --- a/src/main/java/com/zy/core/cache/MessageQueue.java +++ b/src/main/java/com/zy/core/cache/MessageQueue.java @@ -16,10 +16,16 @@ //鍥涘悜绌挎杞q浜ゆ崲鏈� private static final Map<Integer, ConcurrentLinkedQueue<Task>> SHUTTLE_EXCHANGE = new ConcurrentHashMap<>(); + //杈撻�乵q浜ゆ崲鏈� + private static final Map<Integer, ConcurrentLinkedQueue<Task>> DEVP_EXCHANGE = new ConcurrentHashMap<>(); //鎻愬崌鏈簃q浜ゆ崲鏈� private static final Map<Integer, ConcurrentLinkedQueue<Task>> LIFT_EXCHANGE = new ConcurrentHashMap<>(); //璐у弶鎻愬崌鏈簃q浜ゆ崲鏈� private static final Map<Integer, ConcurrentLinkedQueue<Task>> FORK_LIFT_EXCHANGE = new ConcurrentHashMap<>(); + //璐у弶鎻愬崌鏈篗aster mq浜ゆ崲鏈� + private static final Map<Integer, ConcurrentLinkedQueue<Task>> FORK_LIFT_MASTER_EXCHANGE = new ConcurrentHashMap<>(); + //鏄剧ず灞弇q浜ゆ崲鏈� + private static final Map<Integer, ConcurrentLinkedQueue<Task>> LED_EXCHANGE = new ConcurrentHashMap<>(); /** * mq 浜ゆ崲鏈哄垵濮嬪寲 @@ -32,8 +38,17 @@ case ForkLift: FORK_LIFT_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>()); break; + case ForkLiftMaster: + FORK_LIFT_MASTER_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>()); + break; case Lift: LIFT_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>()); + break; + case Devp: + DEVP_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>()); + break; + case Led: + LED_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>()); break; default: break; @@ -50,8 +65,14 @@ return SHUTTLE_EXCHANGE.get(id).offer(task); case ForkLift: return FORK_LIFT_EXCHANGE.get(id).offer(task); + case ForkLiftMaster: + return FORK_LIFT_MASTER_EXCHANGE.get(id).offer(task); case Lift: return LIFT_EXCHANGE.get(id).offer(task); + case Devp: + return DEVP_EXCHANGE.get(id).offer(task); + case Led: + return LED_EXCHANGE.get(id).offer(task); default: return false; } @@ -67,8 +88,22 @@ return SHUTTLE_EXCHANGE.get(id).poll(); case ForkLift: return FORK_LIFT_EXCHANGE.get(id).poll(); + case ForkLiftMaster: + return FORK_LIFT_MASTER_EXCHANGE.get(id).poll(); case Lift: return LIFT_EXCHANGE.get(id).poll(); + case Devp: + ConcurrentLinkedQueue<Task> tasks = DEVP_EXCHANGE.get(id); + if (tasks == null) { + return null; + } + return DEVP_EXCHANGE.get(id).poll(); + case Led: + ConcurrentLinkedQueue<Task> task2 = LED_EXCHANGE.get(id); + if (task2 == null) { + return null; + } + return LED_EXCHANGE.get(id).poll(); default: return null; } @@ -83,14 +118,20 @@ return SHUTTLE_EXCHANGE.get(id).peek(); case ForkLift: return FORK_LIFT_EXCHANGE.get(id).peek(); + case ForkLiftMaster: + return FORK_LIFT_MASTER_EXCHANGE.get(id).peek(); case Lift: return LIFT_EXCHANGE.get(id).peek(); + case Devp: + return DEVP_EXCHANGE.get(id).peek(); + case Led: + return LED_EXCHANGE.get(id).peek(); default: return null; } } - public static void clear(SlaveType type, Integer id){ + public static void clear(SlaveType type, Integer id) { switch (type) { case Shuttle: SHUTTLE_EXCHANGE.get(id).clear(); @@ -98,9 +139,18 @@ case ForkLift: FORK_LIFT_EXCHANGE.get(id).clear(); break; + case ForkLiftMaster: + FORK_LIFT_MASTER_EXCHANGE.get(id).clear(); + break; case Lift: LIFT_EXCHANGE.get(id).clear(); break; + case Devp: + DEVP_EXCHANGE.get(id).clear(); + break; + case Led: + LED_EXCHANGE.get(id).clear(); + break; default: break; } -- Gitblit v1.9.1