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("操作成功"); }