From 4fa1edc5521931bf0cb982f6b013b46986529718 Mon Sep 17 00:00:00 2001 From: jeongmin Date: Thu, 25 Sep 2025 19:03:21 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20RedisRateLimiter=20=EB=B0=98=ED=99=98=20?= =?UTF-8?q?=ED=83=80=EC=9E=85=20=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/domain/tweet/service/TweetService.java | 1 - .../ratelimiter/aspect/RedisRateLimitAspect.java | 12 ++++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/example/demo/domain/tweet/service/TweetService.java b/src/main/java/com/example/demo/domain/tweet/service/TweetService.java index 4796686..9aba505 100644 --- a/src/main/java/com/example/demo/domain/tweet/service/TweetService.java +++ b/src/main/java/com/example/demo/domain/tweet/service/TweetService.java @@ -1,7 +1,6 @@ package com.example.demo.domain.tweet.service; import com.example.demo.domain.follow.FollowRepository; -import com.example.demo.domain.follow.FollowersByUser; import com.example.demo.domain.timeline.UserTimeline; import com.example.demo.domain.timeline.UserTimelineRepository; import com.example.demo.domain.tweet.entity.Tweet; diff --git a/src/main/java/com/example/demo/ratelimiter/aspect/RedisRateLimitAspect.java b/src/main/java/com/example/demo/ratelimiter/aspect/RedisRateLimitAspect.java index ccdff93..ecbbfc1 100644 --- a/src/main/java/com/example/demo/ratelimiter/aspect/RedisRateLimitAspect.java +++ b/src/main/java/com/example/demo/ratelimiter/aspect/RedisRateLimitAspect.java @@ -3,7 +3,7 @@ import com.example.demo.ratelimiter.annotation.RedisRateLimit; import com.example.demo.ratelimiter.common.RateLimitConfig; import com.example.demo.ratelimiter.common.RateLimitResult; -import com.example.demo.ratelimiter.common.RateLimiter; +import com.example.demo.ratelimiter.common.RedisRateLimiter; import jakarta.servlet.http.HttpServletRequest; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; @@ -45,7 +45,7 @@ public Object around(ProceedingJoinPoint joinPoint, RedisRateLimit redisRateLimi String key = generateKey(redisRateLimit); // 해당 Redis 알고리즘의 Rate Limiter 선택 - RateLimiter limiter = getRedisRateLimiter(redisRateLimit.algorithm()); + RedisRateLimiter limiter = getRedisRateLimiter(redisRateLimit.algorithm()); // 설정에 따른 Rate Limiter 구성 RateLimitResult result; @@ -144,12 +144,12 @@ private String getUserId() { /** * Redis 알고리즘에 해당하는 Rate Limiter 빈 조회 */ - private RateLimiter getRedisRateLimiter(RedisRateLimit.RedisAlgorithmType algorithm) { + private RedisRateLimiter getRedisRateLimiter(RedisRateLimit.RedisAlgorithmType algorithm) { try { - return applicationContext.getBean(algorithm.getBeanName(), RateLimiter.class); + return applicationContext.getBean(algorithm.getBeanName(), RedisRateLimiter.class); } catch (Exception e) { // 기본값으로 Redis Token Bucket 사용 - return applicationContext.getBean("redisTokenBucketLimiter", RateLimiter.class); + return applicationContext.getBean("redisTokenBucketLimiter", RedisRateLimiter.class); } } @@ -184,7 +184,7 @@ private RateLimitConfig createConfig(RedisRateLimit redisRateLimit) { * 커스텀 설정으로 Rate Limiter 호출 * 리플렉션을 사용하여 설정을 전달 */ - private RateLimitResult tryAcquireWithConfig(RateLimiter limiter, String key, RateLimitConfig config) { + private RateLimitResult tryAcquireWithConfig(RedisRateLimiter limiter, String key, RateLimitConfig config) { try { // tryAcquire(String key, RateLimitConfig config) 메서드가 있는지 확인 Method method = limiter.getClass().getMethod("tryAcquire", String.class, RateLimitConfig.class);