SPRING
@Transactional 롤백이 안 되는 일을 실제로 겪다
같은 서비스 안에서 @Transactional 메서드를 자기 호출해 롤백이 안 되는 문제를 실제 운영 코드에서 겪고, 트랜잭션 이름을 직접 확인하며 별도 서비스로 분리해 해결한 과정을 기록합니다.
같은 서비스 안에서 @Transactional 메서드를 자기 호출해 롤백이 안 되는 문제를 실제 운영 코드에서 겪고, 트랜잭션 이름을 직접 확인하며 별도 서비스로 분리해 해결한 과정을 기록합니다.
같은 서비스 안에서 @Transactional 메서드를 자기 호출하면 프록시를 거치지 않아 REQUIRES_NEW가 적용되지 않고 일괄 롤백되는 원인과, 서비스 분리로 해결하는 방법을 흐름도와 함께 정리합니다.
트랜잭션의 ACID 성질과 @Transactional의 propagation, isolation, rollbackFor, noRollbackFor, timeout, readOnly 옵션을 예제 흐름도와 함께 정리합니다.
같은 클래스 내부 호출에서 @Transactional이 적용되지 않는 self-invocation 문제의 원인과, REQUIRES_NEW 메서드를 하위 컴포넌트로 분리해 안전하게 쓰는 방법, 커넥션 점유 주의점을 정리합니다.
@SpringBootTest와 @Transactional로 회원 서비스의 회원가입, 중복 검증, 조회 기능을 통합 테스트하는 과정을 정리합니다.