[Spring] @Transactional의 구조와 Retry 정책 구현
·
Backend/Spring
Transaction 트랜젝션은 쪼개질 수 없는 업무의 최소 단위입니다. 여기서 모두 성공하던가, 아니면 완전히 없던 일로 하든가 (All or Nothing)의 규칙을 지키는 작업 단위임을 기억해야합니다. ACID 원칙에서의 Atomic도 바로 이런 규칙을 말하는데 이런 서비스 업무의 단위를 스프링 프레임워크에서는 어떤 식으로 구현돼있는지 확인해보겠습니다.@Transactional Spring으로 서비스 코드를 작성할 때 항상 붙이면서도 잘 알고 사용해야만 하는 이 @Transactional이 어떤 구조와 원리로 설계되어 있는지 확인해보겠습니다. @Transactional은 Spring AOP (Aspect Oriented Programming)을 기반으로 동작합니다. 이때 동작의 흐름은 다음과..