issues
search
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
목표
새 트랜잭션을 시작하는 REQUIRES_NEW 속성에서, 자식 트랜잭션이 부모 트랜잭션에 독립적으로 처리되는지 확인합니다.
시나리오
부모 서비스 메서드에서 상품 D를 30개 주문하는 트랜잭션을 시작합니다.
자식 서비스 메서드를 호출하여 상품 D를 10개 추가 주문하되, 이 메서드는 Propagation.REQUIRES_NEW로 설정합니다.
자식 메서드에서 예외를 발생시켜 트랜잭션을 롤백합니다.
부모 메서드는 정상적으로 커밋됩니다.
트랜잭션 후:
Products 테이블에서 상품 D의 재고는 부모 트랜잭션에서 주문한 30개만큼 감소했는지 확인합니다.
자식 트랜잭션은 롤백되었으므로 10개의 추가 주문은 반영되지 않습니다.
InventoryTransactions 테이블에 부모 트랜잭션만 기록되었는지 확인합니다.
목표
시나리오