티스토리 뷰

하기 코드를 실행했을때 에러 발생함.

 

 

먼저 IllegalMonitorStateException은 synchronized 블록이나 Lock객체를 잠금, 해제할 때 문제가 발생한 것을 나타낸다고 한다.

나는 지금 redisson을 이용한 pub-sub 기반의 lock을 사용하고 있으니, 위 코드에서 문제가 있다고 확신함.

 

생각해보니 finally 블록에서 무조건 unlock을 호출하고 있었음.

여기가 문제인 것 같아 lock 객체가 제대로 생성이 되었을때만 unlock이 되도록 수정해 보았음.

위처럼 수정하니 정상 실행 되었음.

댓글