Closed wooyounggggg closed 3 years ago
트랜잭션 전파의 유스케이스를 찾기에 앞서 이 개념이 커버하는 요구사항이 뭔지 생각해 보았습니다.
호출 당하는 메서드 입장에서, 장애 발생 시 어느 범위까지 롤백되어야 하는지 관점으로 서술해 봅니다.
[x] 내 장애는 롤백되어야 합니다. => REQUIRED, MANDATORY, REQUIRES_NEW, NESTED, SUPPORTS
[x] 내 장애는 롤백할 필요 없습니다. => NEVER, NOT_SUPPORTED
각 상황에 맞는 유스케이스를 떠올려 보면 좋을 듯 합니다.
아래 표는 INNER 메서드의 Propagation 정책과 런타임 예외의 발생 지점에 따라 어디서 롤백이 발생하는지 확인해 본 것입니다.
부모 트랜잭션이 존재한다고 가정하며, INNER 예외는 OUTER에서 소비합니다.
유스케이스 생각에 참고가 될 것 같습니다.
질문
트랜잭션 전파 유즈 케이스
상세 내용
책 9.3.1에서, 트랜잭션 전파 속성을 언급합니다. 트랜잭션이 다중으로 발생할 때에 전파 속성을 잘 이해하고 사용해야 좀 더 유연하게 트랜잭션을 비즈니스에 잘 적용할 수 있을 것 같은데,
전파 속성
에 대한 구체적인 유즈 케이스를 모르니 추상적으로만 이해가 되는 것 같네요. 그래서, 구체적인 유즈 케이스를 찾아본다면 어떤 상황에서 트랜잭션 전파 속성을 조절하는지 이해할 수 있게 될 것 같아 해당 질문 이슈를 발행하였습니다. 😄연관 챕터
66
참고