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

woowang님의 프로필 이미지
woowang

작성한 질문수

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

Named Lock 활용해보기

네임드락 코드 관련 질문

작성

·

322

2

NamedLockStockFacade 클래스 decrease() 메서드에 @Transactional 이 안들어가도 되나요?
@Transactional이 빠진 코드면 getLock()과 releaseLock()이 사용하는 커넥션이 달라지는 걸로 알고 있습니다.


답변 2

1

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

woowang 님 안녕하세요.

좋은지적 감사합니다.

예제를 옮기면서 작성할 떄 실수로 빠트린듯합니다.

NamedLockStockFacade.decrease 에 @Transactional 어노테이션이 추가되어야합니다.

추가로 StockService 의 decrease 메소드는 테스트를 위해 propagation 을 REQUIRES_NEW 로 변경해주어야합니다.

propagation 을 변경하면 새로운 트랜잭션을 시작하기 때문에 hikari.maximum-pool-size 의 개수도 넉넉하게 늘려주시는편이 좋습니다.

 

제 실수를 찾아주셔서 감사드리며 실수가 있었던 점 죄송합니다.

해당내용은 빠른시일내에 수정하도록 하겠습니다.

 

0

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

woowang 님 안녕하세요.

좋은 피드백 너무 감사드립니다.

해당영상 @Transactional 을 붙이도록 수정해서 재업로드를 했습니다.

다시 한번 감사드립니다.

woowang님의 프로필 이미지
woowang

작성한 질문수

질문하기