From 6bef2abecfaecc1791362b27ed8588ce63386fa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Tue, 30 Jun 2026 17:24:56 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E6=96=B0=E5=A2=9E=20lock4j=E7=9A=84?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=A4=B1=E8=B4=A5=E7=AD=96=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../redis/config/Lock4jConfiguration.java | 28 +++++++++++++++++++ ...ot.autoconfigure.AutoConfiguration.imports | 1 + 2 files changed, 29 insertions(+) create mode 100644 ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/Lock4jConfiguration.java diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/Lock4jConfiguration.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/Lock4jConfiguration.java new file mode 100644 index 000000000..48494c6e1 --- /dev/null +++ b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/Lock4jConfiguration.java @@ -0,0 +1,28 @@ +package org.dromara.common.redis.config; + +import cn.hutool.http.HttpStatus; +import com.baomidou.lock.LockFailureStrategy; +import com.baomidou.lock.spring.boot.autoconfigure.LockAutoConfiguration; +import org.dromara.common.core.exception.ServiceException; +import org.springframework.boot.autoconfigure.AutoConfiguration; +import org.springframework.context.annotation.Bean; + +/** + * Lock4j 配置 + * + * @author AprilWind + */ +@AutoConfiguration(before = LockAutoConfiguration.class) +public class Lock4jConfiguration { + + /** + * Lock4j 获取锁失败策略。 + */ + @Bean + public LockFailureStrategy defaultLockFailureStrategy() { + return (key, method, arguments) -> { + throw new ServiceException("业务处理中,请稍后再试...", HttpStatus.HTTP_UNAVAILABLE); + }; + } + +} diff --git a/ruoyi-common/ruoyi-common-redis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-common/ruoyi-common-redis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index afdf91ed2..27b099da5 100644 --- a/ruoyi-common/ruoyi-common-redis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/ruoyi-common/ruoyi-common-redis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -2,3 +2,4 @@ org.dromara.common.redis.config.RedisConfiguration org.dromara.common.redis.config.CacheConfiguration org.dromara.common.redis.config.IdempotentAutoConfiguration org.dromara.common.redis.config.RateLimiterConfig +org.dromara.common.redis.config.Lock4jConfiguration