From 56b6f93fbf3e1d5b27676a1d6ad34dc5c626249a Mon Sep 17 00:00:00 2001
From: dubin <dubin@163.com>
Date: 星期二, 27 五月 2025 15:58:16 +0800
Subject: [PATCH] 电视机ip配置和wcs监控图
---
src/main/java/com/zy/core/cache/MessageQueue.java | 21 +++++++++++++++++++--
1 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/zy/core/cache/MessageQueue.java b/src/main/java/com/zy/core/cache/MessageQueue.java
index 8bb9d7c..7c63158 100644
--- a/src/main/java/com/zy/core/cache/MessageQueue.java
+++ b/src/main/java/com/zy/core/cache/MessageQueue.java
@@ -1,5 +1,6 @@
package com.zy.core.cache;
+import com.zy.asrs.utils.CommandUtils;
import com.zy.core.Slave;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.Task;
@@ -16,7 +17,7 @@
public class MessageQueue {
// 鍫嗗灈鏈簃q浜ゆ崲鏈�
- private static final Map<Integer, ConcurrentLinkedQueue<Task>> CRN_EXCHANGE = new ConcurrentHashMap<>();
+ private static final Map<Integer, LinkedBlockingQueue<Task>> CRN_EXCHANGE = new ConcurrentHashMap<>();
// 杈撻�佺嚎mq浜ゆ崲鏈�
private static final Map<Integer, ConcurrentLinkedQueue<Task>> DEVP_EXCHANGE = new ConcurrentHashMap<>();
// 鏉$爜鎵弿浠猰q浜ゆ崲鏈�
@@ -34,7 +35,7 @@
public static void init(SlaveType type, Slave slave) {
switch (type) {
case Crn:
- CRN_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>());
+ CRN_EXCHANGE.put(slave.getId(), new LinkedBlockingQueue<>(1));
break;
case Devp:
DEVP_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>());
@@ -127,6 +128,7 @@
public static void clear(SlaveType type, Integer id){
switch (type) {
case Crn:
+
CRN_EXCHANGE.get(id).clear();
break;
case Devp:
@@ -148,5 +150,20 @@
break;
}
}
+ public static boolean offer(SlaveType type, Integer devpId, Task task, Runnable callback) {
+ boolean result = offer(type, devpId, task); // 鍏堟墽琛屽師鏈変换鍔¢�昏緫
+ if (result && callback != null) {
+ new Thread(() -> {
+ try {
+ Thread.sleep(200); // 妯℃嫙浠诲姟鎵ц鏃堕棿
+ callback.run();
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ }
+ }).start();
+ }
+ return result;
+ }
+
}
--
Gitblit v1.9.1