Skip to content

[Chapter 05] ControllerAdvice 예외처리 무조건 좋은가? #44

Discussion options

You must be logged in to vote

이게 적절한 예시인지는 모르겠으나... 특정 아이템의 재고를 차감하는 로직을 예로 들어보겠습니다.
오히려 예시를 보고 반대로 질문을 드리는 게 좋을 것 같네요~!

A 시스템의 재고 차감은 가 차감 방식으로 되어 있고, 공유 자원인 아이템에 대해 고객이 락(lock)을 획득하고 아이템 가용 수량을 확보하여 구매한다.
만약 트래픽이 몰리는 시점에 후순위로 진입한 고객은 락 획득에 실패하게 되고, 해당 고객은 일정 기간을 두고 2회 재시도한다.
재수 없게도 2회 모두 락 획득에 실패할 경우 검사 예외(checkued exception)인 InterruptedException 이 발생한다.

이런 상황에는 어떻게 예외 처리를 하면 좋을까요?
@ControllerAdvice 이나 @ExceptionHandler 애너테이션을 사용하면 적절한 상황인지 궁금합니다.
참고로 해당 케이스는 현재 시스템에서 재고 차감하는 로직 한 군데에서 발생하고 있다고 가정합니다.

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by JoisFe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chapter05 스프링 MVC 를 이용한 REST-API 개발
2 participants