From 9b0938e0d6f60a18be1f573e74c10eda14d1742b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Tue, 14 Nov 2023 17:02:51 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E5=BB=B6=E8=BF=9F?= =?UTF-8?q?=E9=98=9F=E5=88=97=E5=9C=A8=E6=8A=95=E9=80=92=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E6=9C=AA=E5=88=B0=E8=BE=BE=E6=97=B6=E9=97=B4=E7=9A=84=E6=97=B6?= =?UTF-8?q?=E5=80=99=20=E6=9C=8D=E5=8A=A1=E6=AD=BB=E6=9C=BA=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E9=87=8D=E5=90=AF=E6=94=B6=E4=B8=8D=E5=88=B0=E6=B6=88?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/dromara/common/redis/utils/QueueUtils.java | 6 +++++- .../demo/controller/queue/DelayedQueueController.java | 4 +++- 2 files changed, 8 insertions(+), 2 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 67ce55254..4587e643d 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 @@ -224,8 +224,12 @@ public class QueueUtils { /** * 订阅阻塞队列(可订阅所有实现类 例如: 延迟 优先 有界 等) */ - public static void subscribeBlockingQueue(String queueName, Consumer consumer) { + public static void subscribeBlockingQueue(String queueName, Consumer consumer, boolean isDelayed) { RBlockingQueue queue = CLIENT.getBlockingQueue(queueName); + if (isDelayed) { + // 订阅延迟队列 + CLIENT.getDelayedQueue(queue); + } queue.subscribeOnElements(consumer); } diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/DelayedQueueController.java b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/DelayedQueueController.java index f9b81c120..fb2aade7d 100644 --- a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/DelayedQueueController.java +++ b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/DelayedQueueController.java @@ -1,5 +1,6 @@ package org.dromara.demo.controller.queue; +import cn.dev33.satoken.annotation.SaIgnore; import org.dromara.common.core.domain.R; import org.dromara.common.redis.utils.QueueUtils; import lombok.RequiredArgsConstructor; @@ -22,6 +23,7 @@ import java.util.concurrent.TimeUnit; * @author Lion Li * @version 3.6.0 */ +@SaIgnore @Slf4j @RequiredArgsConstructor @RestController @@ -40,7 +42,7 @@ public class DelayedQueueController { QueueUtils.subscribeBlockingQueue(queueName, (String orderNum) -> { // 观察接收时间 log.info("通道: {}, 收到数据: {}", queueName, orderNum); - }); + }, true); return R.ok("操作成功"); }