인프런 커뮤니티 질문&답변

최지환님의 프로필 이미지

작성한 질문수

재고시스템으로 알아보는 동시성이슈 해결방법

Optimistic Lock 활용해보기

OptimisticLockStockService 에 @트랜잭션을 사용하지 않는경우

작성

·

599

1

OptimisticLockStockService 에 decrease 메서드에 @트랜잭션을 사용하지 않는 경우 테스트 코드가 멈추지 않는 문제가 있었습니다.

이런 경우 왜 그런건가요??

답변 3

0

최상용님의 프로필 이미지
최상용
지식공유자

최지환님 안녕하세요.
Spring 에서 지원하는 @Lock 어노테이션은 트랜잭션을 요구합니다.
그렇기때문에 쿼리를 실행하지 못해 무한루프가 발생하는 것 입니다.
감사합니다.

0

최지환님의 프로필 이미지
최지환
질문자

스크린샷 2023-07-29 오전 12.23.59.png강의 코드와 비교해서 decrease 메서드에 @트랜잭셔널만 제거한 상태입니다.

이 경우 테스트를 돌리면 테스트가 끝나지 않았습니다.

최상용님의 프로필 이미지
최상용
지식공유자

혹시 깃헙을 통해 소스코드를 공유해주실 수 있으실까요 ?

0

최상용님의 프로필 이미지
최상용
지식공유자

최지환님 안녕하세요.
그러한 케이스는 겪어보지 못했는데 소스코드 작성한것을 공유해주실 수 있으실까요 ?

최지환님의 프로필 이미지
최지환
질문자

https://github.com/ch0ijihwan/stock


깃 첨부합니다.
OptimisticLockStockFacadeServiceTest 실행 시 문제가 발생합니다..