From 1920ba94b788946e3391c96fc7c9cdc1cde557f9 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期三, 31 八月 2022 18:28:06 +0800 Subject: [PATCH] add 增加 QueueUtils 操作普通队列的方法 --- ruoyi-common/src/main/java/com/ruoyi/common/utils/redis/QueueUtils.java | 44 ++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 40 insertions(+), 4 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/redis/QueueUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/redis/QueueUtils.java index c70acba..acfc021 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/redis/QueueUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/redis/QueueUtils.java @@ -31,6 +31,35 @@ } /** + * 娣诲姞鏅�氶槦鍒楁暟鎹� + * + * @param queueName 闃熷垪鍚� + * @param data 鏁版嵁 + */ + public static <T> boolean addQueueObject(String queueName, T data) { + RBlockingQueue<T> queue = CLIENT.getBlockingQueue(queueName); + return queue.offer(data); + } + + /** + * 鑾峰彇涓�涓櫘閫氶槦鍒楁暟鎹� 娌℃湁鏁版嵁杩斿洖 null + * + * @param queueName 闃熷垪鍚� + */ + public static <T> T getQueueObject(String queueName) { + RBlockingQueue<T> queue = CLIENT.getBlockingQueue(queueName); + return queue.poll(); + } + + /** + * 鍒犻櫎鏅�氶槦鍒楁暟鎹� + */ + public static <T> boolean removeQueueObject(String queueName, T data) { + RBlockingQueue<T> queue = CLIENT.getBlockingQueue(queueName); + return queue.remove(data); + } + + /** * 娣诲姞寤惰繜闃熷垪鏁版嵁 榛樿姣 * * @param queueName 闃熷垪鍚� @@ -52,14 +81,21 @@ public static <T> void addDelayedQueueObject(String queueName, T data, long time, TimeUnit timeUnit) { RBlockingQueue<T> queue = CLIENT.getBlockingQueue(queueName); RDelayedQueue<T> delayedQueue = CLIENT.getDelayedQueue(queue); - // 宸插瓨鍦ㄥ垯鏃犺 - if (delayedQueue.contains(data)) { - return; - } delayedQueue.offer(data, time, timeUnit); } /** + * 鑾峰彇涓�涓欢杩熼槦鍒楁暟鎹� 娌℃湁鏁版嵁杩斿洖 null + * + * @param queueName 闃熷垪鍚� + */ + public static <T> T getDelayedQueueObject(String queueName) { + RBlockingQueue<T> queue = CLIENT.getBlockingQueue(queueName); + RDelayedQueue<T> delayedQueue = CLIENT.getDelayedQueue(queue); + return delayedQueue.poll(); + } + + /** * 鍒犻櫎寤惰繜闃熷垪鏁版嵁 */ public static <T> boolean removeDelayedQueueObject(String queueName, T data) { -- Gitblit v1.9.3