Transaction Propagation

ClassBinu·2024년 5월 14일

F-lab

목록 보기
21/65

트랜잭션 전파

propagation은 번식이라는 뜻

메서드가 트랜잭션 내에서 호출될 때 어떻게 트랜잭션을 처리할지 정의
하나의 트랜잭션이 여러 메서드 호출에 걸쳐 있을 때, 각 메서드가 기존 트랜잭션을 사용할지 새로운 트랜잭션을 시작할지 다른 트랜잭션 처리할지 결정

트랜잭션 전파 유헝

REQUIRED

  • 기본 전파 속성
  • 현재 트랜잭션이 존재하면 사용, 없으면 새로 생성

REQUIRES_NEW

  • 항상 새로운 트랜잭션 시작
  • 기존 트랜잭션이 존재하면 이를 일시 중단, 새로운 트랜잭션 시작

MANDATORY(필수적인)

  • 현재 트랜잭션이 존재해야 함.
  • 트랜잭션이 없으면 예외 발생.

SUPPORTS

  • 현재 트랜잭션이 존재하면 이를 사용하고, 그렇지 않으면 트랜잭션 없이 실행

NOT_SUPPORTED

  • 트랜잭션 없이 실행
  • 현재 트랜잭션이 존재하면 이를 일시 중단

NEVER

  • 트랜잭션이 존재하지 않아야 함.
  • 현재 트랜잭션이 존재하면 예외 발생

NESTED

  • 현재 트랜잭션 내에 중첩된 트랜잭션 시작
  • 중첩된 트랜잭션은 부모 트랜잭션에 종속적

0개의 댓글