Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Added GlobalExceptionHandler #20

Merged

Conversation

koreanMike513
Copy link
Collaborator

  • @ControllerAdvice 와 @ExceptionHandler를 추가하여 예외처리 계층을 추가하였습니다.
  • @hidden을 통해서 Swagger UI 가 정상적으로 작동하도록 하였으며 (아닐시에 error 발생)
  • 또 기존의 OrderService를 감싸던 try {} block을 지웠습니다.
  • JpaSystemException은 락을 쓰레드가 대기시간으로 인하여 얻는데 실패할 경우 이 예외에 감싸져서 온다는 것을 알았습니다.
    • 즉 기존의 try {} catch{} 로 감싸 IllegalStateException으로 wrap 하여 처리하려면 그 예외가 던져지는 것과 예외로 따로 TransactionManager에서 JpaSystemException을 던지기 때문에 따로 처리하지 않으면 DispatcherServlet에서 Default로 처리되지 때문에 따로 @ControllerAdvice 에서 @ExceptionHandling을 통해서 관리하게 되었습니다.

한 thread를 의도적으로 lock을 길게 가지게 했을 때 @ControllerAdvice에서 설계한 대로 예외가 던져지는 것을 Jmeter를 통해 확인하였습니다.

스크린샷 2024-12-24 오후 7 58 23

- handles IllegalStateException, JpaSystemException and Exceptions
@koreanMike513 koreanMike513 added the enhancement New feature or request label Dec 24, 2024
@koreanMike513 koreanMike513 self-assigned this Dec 24, 2024
@koreanMike513 koreanMike513 merged commit f4cb1f2 into feature/add-basic-order-mvc Dec 28, 2024
1 check passed
@koreanMike513 koreanMike513 deleted the feature/add-controller-advice branch December 28, 2024 18:09
@koreanMike513 koreanMike513 restored the feature/add-controller-advice branch December 28, 2024 19:22
@koreanMike513 koreanMike513 deleted the feature/add-controller-advice branch December 28, 2024 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants