로딩
요청 처리 중입니다...

AOP 분산락에 비즈니스 로직이 스며든다면

 AOP 분산락에 비즈니스 로직이 스며든다면

Redisson 기반 분산락을 @DistributedLock 어노테이션으로 AOP 처리하던 중, Aspect 내부에 특정 도메인 예외 처리가 생기면서 책임 분리의 필요성을 느꼈습니다. 문제 상황 : AOP에 비즈니스 로직이 섞이다 잘 동작하던 DistributedLockAdvice에 어느 순간 이런 코드가 생겼습니다. private static final Set ANY_BUSINESS_LOCK_KEY_SET = Set.of("..."); private RLock acquireLock(String lockKey, DistributedLock distributedLock) { RLock lock = redissonClient.getLock(lockKey); try { boolean acquired = lock.tryLock(...); if (!

acquired) { // 특정 락 키면 ODM 예외, 아니면 일반 예외 if (ANY_BUSINESS_LOCK_KEY_SET.co...