caffeine-library / pro-spring-5

🌱 전문가를 위한 스프링5를 읽는 스터디
5 stars 0 forks source link

[question] 트랜잭션 전파 유즈 케이스 #68

Closed wooyounggggg closed 3 years ago

wooyounggggg commented 3 years ago

질문

트랜잭션 전파 유즈 케이스

상세 내용

책 9.3.1에서, 트랜잭션 전파 속성을 언급합니다. 트랜잭션이 다중으로 발생할 때에 전파 속성을 잘 이해하고 사용해야 좀 더 유연하게 트랜잭션을 비즈니스에 잘 적용할 수 있을 것 같은데, 전파 속성에 대한 구체적인 유즈 케이스를 모르니 추상적으로만 이해가 되는 것 같네요. 그래서, 구체적인 유즈 케이스를 찾아본다면 어떤 상황에서 트랜잭션 전파 속성을 조절하는지 이해할 수 있게 될 것 같아 해당 질문 이슈를 발행하였습니다. 😄

연관 챕터

66

참고

binchoo commented 3 years ago

트랜잭션 전파의 유스케이스를 찾기에 앞서 이 개념이 커버하는 요구사항이 뭔지 생각해 보았습니다.

호출 당하는 메서드 입장에서, 장애 발생 시 어느 범위까지 롤백되어야 하는지 관점으로 서술해 봅니다.

각 상황에 맞는 유스케이스를 떠올려 보면 좋을 듯 합니다.

아래 표는 INNER 메서드의 Propagation 정책과 런타임 예외의 발생 지점에 따라 어디서 롤백이 발생하는지 확인해 본 것입니다.

image

부모 트랜잭션이 존재한다고 가정하며, INNER 예외는 OUTER에서 소비합니다.

유스케이스 생각에 참고가 될 것 같습니다.