<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId>
<version>3.13.3</version>
</dependency>
package com.rdj.distributelock.controller;
import lombok.extern.slf4j.Slf4j;
import org.redisson.Redisson;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.concurrent.TimeUnit;
@RestController
@Slf4j
public class RedissonLockController {
@Autowired
private RedissonClient redissonClient;
@RequestMapping("/resissonLock")
public String resissonLock(){
log.info("进入了方法");
RLock rLock = redissonClient.getLock("order");
try {
rLock.lock(30, TimeUnit.SECONDS);
log.info("获得了锁");
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}finally {
log.info("释放了锁");
rLock.unlock();
}
log.info("方法完成");
return "finished";
}
}