-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
Named Lock에서 락 획득 실패 후 락 해제할 때가 궁금합니다.
24.01.02 10:31 작성 조회수 231
0
NamedLockFacade에서
@Transactional
public void decrease(Long id, Long quantity) {
try {
lockRepository.getLock(id.toString());
stockService.decrease(id, quantity);
} finally {
lockRepository.releaseLock(id.toString());
}
}
락 획득을 하지 못해도 releaseLock이 실행되서 락을 해제하는 코드입니다.
락을 획득하지 못해도 락을 해제하려고 하는데 따로 문제가 발생하진 않나요?
답변을 작성해보세요.
0
최상용
지식공유자2024.01.02
https://dev.mysql.com/doc/refman/8.0/en/locking-functions.html#function_release-lock
공식문서에서 release_lock 부분을 살펴보시면 자세한 내용을 아실 수 있습니다!
요약해서 전달을 드리면
락은 존재하지만 해당 스레드에서 얻은 락이 아닐경우 0 을 반환합니다.
락이 존재하지 않는다면 null 을 반환합니다.
감사합니다!
답변 1