SeokRae / spring-transaction

트랜잭션 관련 내용 공유를 위한 레포
1 stars 0 forks source link

[트랜잭션 전파(Propagation) 테스트] 시나리오 4: Propagation.REQUIRES_NEW #6

Closed SeokRae closed 2 weeks ago

SeokRae commented 2 weeks ago

목표

시나리오

  1. 부모 서비스 메서드에서 상품 D를 30개 주문하는 트랜잭션을 시작합니다.
  2. 자식 서비스 메서드를 호출하여 상품 D를 10개 추가 주문하되, 이 메서드는 Propagation.REQUIRES_NEW로 설정합니다.
  3. 자식 메서드에서 예외를 발생시켜 트랜잭션을 롤백합니다.
  4. 부모 메서드는 정상적으로 커밋됩니다.
  5. 트랜잭션 후:
    • Products 테이블에서 상품 D의 재고는 부모 트랜잭션에서 주문한 30개만큼 감소했는지 확인합니다.
    • 자식 트랜잭션은 롤백되었으므로 10개의 추가 주문은 반영되지 않습니다.
    • InventoryTransactions 테이블에 부모 트랜잭션만 기록되었는지 확인합니다.