From 9b0938e0d6f60a18be1f573e74c10eda14d1742b Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期二, 14 十一月 2023 17:02:51 +0800
Subject: [PATCH] fix 修复 延迟队列在投递消息未到达时间的时候 服务死机导致重启收不到消息
---
ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/DelayedQueueController.java | 4 +++-
ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/QueueUtils.java | 6 +++++-
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 67ce552..4587e64 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 static <T> void subscribeBlockingQueue(String queueName, Consumer<T> consumer) {
+ public static <T> void subscribeBlockingQueue(String queueName, Consumer<T> consumer, boolean isDelayed) {
RBlockingQueue<T> 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 f9b81c1..fb2aade 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 @@
* @author Lion Li
* @version 3.6.0
*/
+@SaIgnore
@Slf4j
@RequiredArgsConstructor
@RestController
@@ -40,7 +42,7 @@
QueueUtils.subscribeBlockingQueue(queueName, (String orderNum) -> {
// 瑙傚療鎺ユ敹鏃堕棿
log.info("閫氶亾: {}, 鏀跺埌鏁版嵁: {}", queueName, orderNum);
- });
+ }, true);
return R.ok("鎿嶄綔鎴愬姛");
}
--
Gitblit v1.9.3