From 6cfc1614627c6668b1e7c330570727c5b5033f2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=88=E5=A4=9C?= <768242801@qq.com> Date: Tue, 4 Jul 2023 11:17:30 +0000 Subject: [PATCH] update ruoyi-demo/src/main/java/com/ruoyi/demo/controller/queue/DelayedQueueController.java. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 月夜 <768242801@qq.com> --- .../demo/controller/queue/DelayedQueueController.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/queue/DelayedQueueController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/queue/DelayedQueueController.java index 1b8f1d370..90b4f9a76 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/queue/DelayedQueueController.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/queue/DelayedQueueController.java @@ -28,6 +28,9 @@ import java.util.concurrent.TimeUnit; @RequestMapping("/demo/queue/delayed") public class DelayedQueueController { + //注入线程池-需要在application.yml中将thread-pool.enabled设置为true + private final ThreadPoolTaskExecutor threadPoolTaskExecutor; + /** * 订阅队列 * @@ -38,9 +41,15 @@ public class DelayedQueueController { log.info("通道: {} 监听中......", queueName); // 项目初始化设置一次即可 QueueUtils.subscribeBlockingQueue(queueName, (String orderNum) -> { - //注:如业务代码部分使用到了redis相关操作,需要将业务逻辑异步,否则将会报错:Sync methods can't be invoked from async/rx/reactive listeners // 观察接收时间 log.info("通道: {}, 收到数据: {}", queueName, orderNum); + + //业务代码 + //注:如业务代码部分使用到了redis相关操作,需要将业务逻辑异步,否则将会报错:Sync methods can't be invoked from async/rx/reactive listeners + //示例 + threadPoolTaskExecutor.execute(() -> { + String str = RedisUtils.getCacheObject("test"); + }); }); return R.ok("操作成功"); }