From 4b921f5e7232545531d81497fd0a158c49e20e02 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期日, 18 七月 2021 18:22:55 +0800
Subject: [PATCH] remove 移除无用配置
---
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisLockController.java | 49 +++++++++++++++++++++++++++++++++++++------------
1 files changed, 37 insertions(+), 12 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 b872a5f..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,14 +1,18 @@
package com.ruoyi.demo.controller;
+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 com.ruoyi.common.core.redis.RedisLockManager;
-import com.ruoyi.demo.service.ITestDemoService;
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;
/**
@@ -22,27 +26,48 @@
public class RedisLockController {
@Autowired
- private ITestDemoService testDemoService;
+ private LockTemplate lockTemplate;
/**
- * 娴嬭瘯lock4j
- * @param key
- * @param value
- * @return
+ * 娴嬭瘯lock4j 娉ㄨВ
*/
+ @Lock4j(keys = {"#key"})
@GetMapping("/testLock4j")
public AjaxResult<String> testLock4j(String key,String value){
- testDemoService.testLock4j(key);
+ System.out.println("start:"+key+",time:"+ LocalTime.now().toString());
+ try {
+ 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){
- testDemoService.testLock4jLockTemaplate(key);
+ 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娉ㄨВ
--
Gitblit v1.9.3