diff --git a/xboot-fast/pom.xml b/xboot-fast/pom.xml index 733943c2..5fe383e3 100644 --- a/xboot-fast/pom.xml +++ b/xboot-fast/pom.xml @@ -105,7 +105,7 @@ org.redisson redisson-spring-boot-starter - 3.13.6 + 3.14.0 javassist diff --git a/xboot-fast/src/main/java/cn/exrick/xboot/common/limit/RedisRaterLimiter.java b/xboot-fast/src/main/java/cn/exrick/xboot/common/limit/RedisRaterLimiter.java index d693a599..5c85981a 100644 --- a/xboot-fast/src/main/java/cn/exrick/xboot/common/limit/RedisRaterLimiter.java +++ b/xboot-fast/src/main/java/cn/exrick/xboot/common/limit/RedisRaterLimiter.java @@ -37,8 +37,13 @@ public Boolean acquireByRedis(String name, Long rate, Long rateInterval) { RRateLimiter rateLimiter = redisson.getRateLimiter(CommonConstant.LIMIT_PRE + name); rateLimiter.trySetRate(RateType.OVERALL, rate, rateInterval, RateIntervalUnit.MILLISECONDS); - boolean getToken = rateLimiter.tryAcquire(); - rateLimiter.expireAsync(rateInterval, TimeUnit.MILLISECONDS); + boolean getToken; + try { + getToken = rateLimiter.tryAcquire(); + rateLimiter.expireAsync(rateInterval * 2, TimeUnit.MILLISECONDS); + } catch (Exception e) { + getToken = false; + } return getToken; } diff --git a/xboot-module/pom.xml b/xboot-module/pom.xml index 91a4f43e..09af747a 100644 --- a/xboot-module/pom.xml +++ b/xboot-module/pom.xml @@ -28,7 +28,7 @@ 0.9.1 8.0.17 3.4.1 - 3.13.6 + 3.14.0 2.0.8 2.8.6 5.5.1 diff --git a/xboot-module/xboot-core/src/main/java/cn/exrick/xboot/core/common/limit/RedisRaterLimiter.java b/xboot-module/xboot-core/src/main/java/cn/exrick/xboot/core/common/limit/RedisRaterLimiter.java index 8e6d348a..bb4d784c 100644 --- a/xboot-module/xboot-core/src/main/java/cn/exrick/xboot/core/common/limit/RedisRaterLimiter.java +++ b/xboot-module/xboot-core/src/main/java/cn/exrick/xboot/core/common/limit/RedisRaterLimiter.java @@ -37,8 +37,13 @@ public Boolean acquireByRedis(String name, Long rate, Long rateInterval) { RRateLimiter rateLimiter = redisson.getRateLimiter(CommonConstant.LIMIT_PRE + name); rateLimiter.trySetRate(RateType.OVERALL, rate, rateInterval, RateIntervalUnit.MILLISECONDS); - boolean getToken = rateLimiter.tryAcquire(); - rateLimiter.expireAsync(rateInterval, TimeUnit.MILLISECONDS); + boolean getToken; + try { + getToken = rateLimiter.tryAcquire(); + rateLimiter.expireAsync(rateInterval * 2, TimeUnit.MILLISECONDS); + } catch (Exception e) { + getToken = false; + } return getToken; }