From 7fafd94e39816166b56aeeade4cadd372ed28f26 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期四, 19 八月 2021 17:23:46 +0800
Subject: [PATCH] !80 update 优化oss配置错误时的错误信息 Merge pull request !80 from 友杰/auto-8071125-dev-1629364607691
---
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisLockController.java | 63 +++++++++++++++++++++++++++----
1 files changed, 54 insertions(+), 9 deletions(-)
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisLockController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisLockController.java
index 7792784..f6649ed 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisLockController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisLockController.java
@@ -1,10 +1,18 @@
package com.ruoyi.demo.controller;
-import com.ruoyi.common.annotation.RedisLock;
+import com.baomidou.lock.LockInfo;
+import com.baomidou.lock.LockTemplate;
+import com.baomidou.lock.annotation.Lock4j;
+import com.baomidou.lock.executor.RedissonLockExecutor;
import com.ruoyi.common.core.domain.AjaxResult;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.Cacheable;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+
+import java.time.LocalTime;
/**
@@ -12,24 +20,61 @@
*
* @author shenxinquan
*/
+@Slf4j
@RestController
@RequestMapping("/demo/redisLock")
public class RedisLockController {
+ @Autowired
+ private LockTemplate lockTemplate;
+
/**
- * #p0 鏍囪瘑鍙栫涓�涓弬鏁颁负redis閿佺殑key
+ * 娴嬭瘯lock4j 娉ㄨВ
*/
- @GetMapping("/getLock")
- @RedisLock(expireTime = 10, key = "#p0")
- public AjaxResult<String> getLock(String key, String value) {
+ @Lock4j(keys = {"#key"})
+ @GetMapping("/testLock4j")
+ public AjaxResult<String> testLock4j(String key,String value){
+ System.out.println("start:"+key+",time:"+ LocalTime.now().toString());
try {
- // 鍚屾椂璇锋眰鎺掗槦
-// Thread.sleep(5000);
- // 閿佽秴鏃舵祴璇�
- Thread.sleep(11000);
+ Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
+ System.out.println("end :"+key+",time:"+LocalTime.now().toString());
return AjaxResult.success("鎿嶄綔鎴愬姛",value);
}
+
+ /**
+ * 娴嬭瘯lock4j 宸ュ叿
+ */
+ @GetMapping("/testLock4jLockTemaplate")
+ public AjaxResult<String> testLock4jLockTemaplate(String key,String value){
+ final LockInfo lockInfo = lockTemplate.lock(key, 30000L, 5000L, RedissonLockExecutor.class);
+ if (null == lockInfo) {
+ throw new RuntimeException("涓氬姟澶勭悊涓�,璇风◢鍚庡啀璇�");
+ }
+ // 鑾峰彇閿佹垚鍔燂紝澶勭悊涓氬姟
+ try {
+ try {
+ Thread.sleep(8000);
+ } catch (InterruptedException e) {
+ //
+ }
+ System.out.println("鎵ц绠�鍗曟柟娉�1 , 褰撳墠绾跨▼:" + Thread.currentThread().getName());
+ } finally {
+ //閲婃斁閿�
+ lockTemplate.releaseLock(lockInfo);
+ }
+ //缁撴潫
+ return AjaxResult.success("鎿嶄綔鎴愬姛",value);
+ }
+
+ /**
+ * 娴嬭瘯spring-cache娉ㄨВ
+ */
+ @Cacheable(value = "test", key = "#key")
+ @GetMapping("/testCache")
+ public AjaxResult<String> testCache(String key) {
+ return AjaxResult.success("鎿嶄綔鎴愬姛", key);
+ }
}
--
Gitblit v1.9.3