springboot redisson 分布式锁
<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"; } }