From ac2873bd37eeb496b0e9dd62d66e9fc4b38ef39b Mon Sep 17 00:00:00 2001 From: qirong <2032486488@qq.com> Date: 星期五, 22 十二月 2023 13:38:26 +0800 Subject: [PATCH] ftp摆渡 --- ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/QueueUtils.java | 464 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 232 insertions(+), 232 deletions(-) diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/QueueUtils.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/QueueUtils.java index 67ce552..47c9176 100644 --- a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/QueueUtils.java +++ b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/QueueUtils.java @@ -1,232 +1,232 @@ -package org.dromara.common.redis.utils; - -import org.dromara.common.core.utils.SpringUtils; -import lombok.AccessLevel; -import lombok.NoArgsConstructor; -import org.redisson.api.*; - -import java.util.concurrent.TimeUnit; -import java.util.function.Consumer; - -/** - * 鍒嗗竷寮忛槦鍒楀伐鍏� - * 杞婚噺绾ч槦鍒� 閲嶉噺绾ф暟鎹噺 璇蜂娇鐢� MQ - * 瑕佹眰 redis 5.X 浠ヤ笂 - * - * @author Lion Li - * @version 3.6.0 鏂板 - */ -@NoArgsConstructor(access = AccessLevel.PRIVATE) -public class QueueUtils { - - private static final RedissonClient CLIENT = SpringUtils.getBean(RedissonClient.class); - - - /** - * 鑾峰彇瀹㈡埛绔疄渚� - */ - public static RedissonClient getClient() { - return CLIENT; - } - - /** - * 娣诲姞鏅�氶槦鍒楁暟鎹� - * - * @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); - } - - /** - * 閫氱敤閿�姣侀槦鍒� 鎵�鏈夐樆濉炵洃鍚� 鎶ラ敊(涓嶆敮鎸佸欢杩熼槦鍒�) - */ - public static <T> boolean destroyQueue(String queueName) { - RBlockingQueue<T> queue = CLIENT.getBlockingQueue(queueName); - return queue.delete(); - } - - /** - * 娣诲姞寤惰繜闃熷垪鏁版嵁 榛樿姣 - * - * @param queueName 闃熷垪鍚� - * @param data 鏁版嵁 - * @param time 寤惰繜鏃堕棿 - */ - public static <T> void addDelayedQueueObject(String queueName, T data, long time) { - addDelayedQueueObject(queueName, data, time, TimeUnit.MILLISECONDS); - } - - /** - * 娣诲姞寤惰繜闃熷垪鏁版嵁 - * - * @param queueName 闃熷垪鍚� - * @param data 鏁版嵁 - * @param time 寤惰繜鏃堕棿 - * @param timeUnit 鍗曚綅 - */ - 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); - 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) { - RBlockingQueue<T> queue = CLIENT.getBlockingQueue(queueName); - RDelayedQueue<T> delayedQueue = CLIENT.getDelayedQueue(queue); - return delayedQueue.remove(data); - } - - /** - * 閿�姣佸欢杩熼槦鍒� 鎵�鏈夐樆濉炵洃鍚� 鎶ラ敊 - */ - public static <T> void destroyDelayedQueue(String queueName) { - RBlockingQueue<T> queue = CLIENT.getBlockingQueue(queueName); - RDelayedQueue<T> delayedQueue = CLIENT.getDelayedQueue(queue); - delayedQueue.destroy(); - } - - /** - * 娣诲姞浼樺厛闃熷垪鏁版嵁 - * - * @param queueName 闃熷垪鍚� - * @param data 鏁版嵁 - */ - public static <T> boolean addPriorityQueueObject(String queueName, T data) { - RPriorityBlockingQueue<T> priorityBlockingQueue = CLIENT.getPriorityBlockingQueue(queueName); - return priorityBlockingQueue.offer(data); - } - - /** - * 浼樺厛闃熷垪鑾峰彇涓�涓槦鍒楁暟鎹� 娌℃湁鏁版嵁杩斿洖 null(涓嶆敮鎸佸欢杩熼槦鍒�) - * - * @param queueName 闃熷垪鍚� - */ - public static <T> T getPriorityQueueObject(String queueName) { - RPriorityBlockingQueue<T> queue = CLIENT.getPriorityBlockingQueue(queueName); - return queue.poll(); - } - - /** - * 浼樺厛闃熷垪鍒犻櫎闃熷垪鏁版嵁(涓嶆敮鎸佸欢杩熼槦鍒�) - */ - public static <T> boolean removePriorityQueueObject(String queueName, T data) { - RPriorityBlockingQueue<T> queue = CLIENT.getPriorityBlockingQueue(queueName); - return queue.remove(data); - } - - /** - * 浼樺厛闃熷垪閿�姣侀槦鍒� 鎵�鏈夐樆濉炵洃鍚� 鎶ラ敊(涓嶆敮鎸佸欢杩熼槦鍒�) - */ - public static <T> boolean destroyPriorityQueue(String queueName) { - RPriorityBlockingQueue<T> queue = CLIENT.getPriorityBlockingQueue(queueName); - return queue.delete(); - } - - /** - * 灏濊瘯璁剧疆 鏈夌晫闃熷垪 瀹归噺 鐢ㄤ簬闄愬埗鏁伴噺 - * - * @param queueName 闃熷垪鍚� - * @param capacity 瀹归噺 - */ - public static <T> boolean trySetBoundedQueueCapacity(String queueName, int capacity) { - RBoundedBlockingQueue<T> boundedBlockingQueue = CLIENT.getBoundedBlockingQueue(queueName); - return boundedBlockingQueue.trySetCapacity(capacity); - } - - /** - * 灏濊瘯璁剧疆 鏈夌晫闃熷垪 瀹归噺 鐢ㄤ簬闄愬埗鏁伴噺 - * - * @param queueName 闃熷垪鍚� - * @param capacity 瀹归噺 - * @param destroy 宸插瓨鍦ㄦ槸鍚﹂攢姣� - */ - public static <T> boolean trySetBoundedQueueCapacity(String queueName, int capacity, boolean destroy) { - RBoundedBlockingQueue<T> boundedBlockingQueue = CLIENT.getBoundedBlockingQueue(queueName); - if (boundedBlockingQueue.isExists() && destroy) { - destroyQueue(queueName); - } - return boundedBlockingQueue.trySetCapacity(capacity); - } - - /** - * 娣诲姞鏈夌晫闃熷垪鏁版嵁 - * - * @param queueName 闃熷垪鍚� - * @param data 鏁版嵁 - * @return 娣诲姞鎴愬姛 true 宸茶揪鍒扮晫闄� false - */ - public static <T> boolean addBoundedQueueObject(String queueName, T data) { - RBoundedBlockingQueue<T> boundedBlockingQueue = CLIENT.getBoundedBlockingQueue(queueName); - return boundedBlockingQueue.offer(data); - } - - /** - * 鏈夌晫闃熷垪鑾峰彇涓�涓槦鍒楁暟鎹� 娌℃湁鏁版嵁杩斿洖 null(涓嶆敮鎸佸欢杩熼槦鍒�) - * - * @param queueName 闃熷垪鍚� - */ - public static <T> T getBoundedQueueObject(String queueName) { - RBoundedBlockingQueue<T> queue = CLIENT.getBoundedBlockingQueue(queueName); - return queue.poll(); - } - - /** - * 鏈夌晫闃熷垪鍒犻櫎闃熷垪鏁版嵁(涓嶆敮鎸佸欢杩熼槦鍒�) - */ - public static <T> boolean removeBoundedQueueObject(String queueName, T data) { - RBoundedBlockingQueue<T> queue = CLIENT.getBoundedBlockingQueue(queueName); - return queue.remove(data); - } - - /** - * 鏈夌晫闃熷垪閿�姣侀槦鍒� 鎵�鏈夐樆濉炵洃鍚� 鎶ラ敊(涓嶆敮鎸佸欢杩熼槦鍒�) - */ - public static <T> boolean destroyBoundedQueue(String queueName) { - RBoundedBlockingQueue<T> queue = CLIENT.getBoundedBlockingQueue(queueName); - return queue.delete(); - } - - /** - * 璁㈤槄闃诲闃熷垪(鍙闃呮墍鏈夊疄鐜扮被 渚嬪: 寤惰繜 浼樺厛 鏈夌晫 绛�) - */ - public static <T> void subscribeBlockingQueue(String queueName, Consumer<T> consumer) { - RBlockingQueue<T> queue = CLIENT.getBlockingQueue(queueName); - queue.subscribeOnElements(consumer); - } - -} +//package org.dromara.common.redis.utils; +// +//import org.dromara.common.core.utils.SpringUtils; +//import lombok.AccessLevel; +//import lombok.NoArgsConstructor; +//import org.redisson.api.*; +// +//import java.util.concurrent.TimeUnit; +//import java.util.function.Consumer; +// +///** +// * 鍒嗗竷寮忛槦鍒楀伐鍏� +// * 杞婚噺绾ч槦鍒� 閲嶉噺绾ф暟鎹噺 璇蜂娇鐢� MQ +// * 瑕佹眰 redis 5.X 浠ヤ笂 +// * +// * @author Lion Li +// * @version 3.6.0 鏂板 +// */ +//@NoArgsConstructor(access = AccessLevel.PRIVATE) +//public class QueueUtils { +// +// private static final RedissonClient CLIENT = SpringUtils.getBean(RedissonClient.class); +// +// +// /** +// * 鑾峰彇瀹㈡埛绔疄渚� +// */ +// public static RedissonClient getClient() { +// return CLIENT; +// } +// +// /** +// * 娣诲姞鏅�氶槦鍒楁暟鎹� +// * +// * @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); +// } +// +// /** +// * 閫氱敤閿�姣侀槦鍒� 鎵�鏈夐樆濉炵洃鍚� 鎶ラ敊(涓嶆敮鎸佸欢杩熼槦鍒�) +// */ +// public static <T> boolean destroyQueue(String queueName) { +// RBlockingQueue<T> queue = CLIENT.getBlockingQueue(queueName); +// return queue.delete(); +// } +// +// /** +// * 娣诲姞寤惰繜闃熷垪鏁版嵁 榛樿姣 +// * +// * @param queueName 闃熷垪鍚� +// * @param data 鏁版嵁 +// * @param time 寤惰繜鏃堕棿 +// */ +// public static <T> void addDelayedQueueObject(String queueName, T data, long time) { +// addDelayedQueueObject(queueName, data, time, TimeUnit.MILLISECONDS); +// } +// +// /** +// * 娣诲姞寤惰繜闃熷垪鏁版嵁 +// * +// * @param queueName 闃熷垪鍚� +// * @param data 鏁版嵁 +// * @param time 寤惰繜鏃堕棿 +// * @param timeUnit 鍗曚綅 +// */ +// 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); +// 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) { +// RBlockingQueue<T> queue = CLIENT.getBlockingQueue(queueName); +// RDelayedQueue<T> delayedQueue = CLIENT.getDelayedQueue(queue); +// return delayedQueue.remove(data); +// } +// +// /** +// * 閿�姣佸欢杩熼槦鍒� 鎵�鏈夐樆濉炵洃鍚� 鎶ラ敊 +// */ +// public static <T> void destroyDelayedQueue(String queueName) { +// RBlockingQueue<T> queue = CLIENT.getBlockingQueue(queueName); +// RDelayedQueue<T> delayedQueue = CLIENT.getDelayedQueue(queue); +// delayedQueue.destroy(); +// } +// +// /** +// * 娣诲姞浼樺厛闃熷垪鏁版嵁 +// * +// * @param queueName 闃熷垪鍚� +// * @param data 鏁版嵁 +// */ +// public static <T> boolean addPriorityQueueObject(String queueName, T data) { +// RPriorityBlockingQueue<T> priorityBlockingQueue = CLIENT.getPriorityBlockingQueue(queueName); +// return priorityBlockingQueue.offer(data); +// } +// +// /** +// * 浼樺厛闃熷垪鑾峰彇涓�涓槦鍒楁暟鎹� 娌℃湁鏁版嵁杩斿洖 null(涓嶆敮鎸佸欢杩熼槦鍒�) +// * +// * @param queueName 闃熷垪鍚� +// */ +// public static <T> T getPriorityQueueObject(String queueName) { +// RPriorityBlockingQueue<T> queue = CLIENT.getPriorityBlockingQueue(queueName); +// return queue.poll(); +// } +// +// /** +// * 浼樺厛闃熷垪鍒犻櫎闃熷垪鏁版嵁(涓嶆敮鎸佸欢杩熼槦鍒�) +// */ +// public static <T> boolean removePriorityQueueObject(String queueName, T data) { +// RPriorityBlockingQueue<T> queue = CLIENT.getPriorityBlockingQueue(queueName); +// return queue.remove(data); +// } +// +// /** +// * 浼樺厛闃熷垪閿�姣侀槦鍒� 鎵�鏈夐樆濉炵洃鍚� 鎶ラ敊(涓嶆敮鎸佸欢杩熼槦鍒�) +// */ +// public static <T> boolean destroyPriorityQueue(String queueName) { +// RPriorityBlockingQueue<T> queue = CLIENT.getPriorityBlockingQueue(queueName); +// return queue.delete(); +// } +// +// /** +// * 灏濊瘯璁剧疆 鏈夌晫闃熷垪 瀹归噺 鐢ㄤ簬闄愬埗鏁伴噺 +// * +// * @param queueName 闃熷垪鍚� +// * @param capacity 瀹归噺 +// */ +// public static <T> boolean trySetBoundedQueueCapacity(String queueName, int capacity) { +// RBoundedBlockingQueue<T> boundedBlockingQueue = CLIENT.getBoundedBlockingQueue(queueName); +// return boundedBlockingQueue.trySetCapacity(capacity); +// } +// +// /** +// * 灏濊瘯璁剧疆 鏈夌晫闃熷垪 瀹归噺 鐢ㄤ簬闄愬埗鏁伴噺 +// * +// * @param queueName 闃熷垪鍚� +// * @param capacity 瀹归噺 +// * @param destroy 宸插瓨鍦ㄦ槸鍚﹂攢姣� +// */ +// public static <T> boolean trySetBoundedQueueCapacity(String queueName, int capacity, boolean destroy) { +// RBoundedBlockingQueue<T> boundedBlockingQueue = CLIENT.getBoundedBlockingQueue(queueName); +// if (boundedBlockingQueue.isExists() && destroy) { +// destroyQueue(queueName); +// } +// return boundedBlockingQueue.trySetCapacity(capacity); +// } +// +// /** +// * 娣诲姞鏈夌晫闃熷垪鏁版嵁 +// * +// * @param queueName 闃熷垪鍚� +// * @param data 鏁版嵁 +// * @return 娣诲姞鎴愬姛 true 宸茶揪鍒扮晫闄� false +// */ +// public static <T> boolean addBoundedQueueObject(String queueName, T data) { +// RBoundedBlockingQueue<T> boundedBlockingQueue = CLIENT.getBoundedBlockingQueue(queueName); +// return boundedBlockingQueue.offer(data); +// } +// +// /** +// * 鏈夌晫闃熷垪鑾峰彇涓�涓槦鍒楁暟鎹� 娌℃湁鏁版嵁杩斿洖 null(涓嶆敮鎸佸欢杩熼槦鍒�) +// * +// * @param queueName 闃熷垪鍚� +// */ +// public static <T> T getBoundedQueueObject(String queueName) { +// RBoundedBlockingQueue<T> queue = CLIENT.getBoundedBlockingQueue(queueName); +// return queue.poll(); +// } +// +// /** +// * 鏈夌晫闃熷垪鍒犻櫎闃熷垪鏁版嵁(涓嶆敮鎸佸欢杩熼槦鍒�) +// */ +// public static <T> boolean removeBoundedQueueObject(String queueName, T data) { +// RBoundedBlockingQueue<T> queue = CLIENT.getBoundedBlockingQueue(queueName); +// return queue.remove(data); +// } +// +// /** +// * 鏈夌晫闃熷垪閿�姣侀槦鍒� 鎵�鏈夐樆濉炵洃鍚� 鎶ラ敊(涓嶆敮鎸佸欢杩熼槦鍒�) +// */ +// public static <T> boolean destroyBoundedQueue(String queueName) { +// RBoundedBlockingQueue<T> queue = CLIENT.getBoundedBlockingQueue(queueName); +// return queue.delete(); +// } +// +// /** +// * 璁㈤槄闃诲闃熷垪(鍙闃呮墍鏈夊疄鐜扮被 渚嬪: 寤惰繜 浼樺厛 鏈夌晫 绛�) +// */ +// public static <T> void subscribeBlockingQueue(String queueName, Consumer<T> consumer) { +// RBlockingQueue<T> queue = CLIENT.getBlockingQueue(queueName); +// queue.subscribeOnElements(consumer); +// } +// +//} -- Gitblit v1.8.0