ㅎㅎ
일하면서 이런 이슈가 있었다.
Interceptor에서 데이터를 쌓고있는데
preHandle에서 왜 데이터가 두번 쌓이지?
라는 이슈가 있었다
그래서 검색해보니
https://www.logicbig.com/tutorials/spring-framework/spring-web-mvc/async-intercept.html
이 링크를 찾았다
세상에 친절할 수가
즉 간단히 정리하자면 Async로 동작하면 Sync로 동작하는것과는 Interceptor가 다르게 동작한다.
ㅇ ㅏ , 물론 AsyncInterceptor를 사용했을때 말이다.
요 순서로 돌아간다고 생각하면 된다.
preHandle
afterConcurrentHandlingStarted
preHandle
postHandle
afterCompletion
그리고 첫번째 링크에 있는 그림을 보면 더 잘 이해가 간다.
다른 New Thread가 PreHandle 을 통과 하기 때문에 저 순서 인 것이다.
'DEVELOP > Backend' 카테고리의 다른 글
[Spring] @RestControllerAdvice , @ExceptionHandler 로 예외 처리하기 (0) | 2021.05.20 |
---|---|
[Spring] Application Event란? 업무에서 어떻게 이용 할 수 있을까? (0) | 2020.06.28 |
[Spring] Task 실행과 스케줄링 ( TaskExecutor , TaskScheduler) (0) | 2020.05.28 |
Spring Security 에서 OAuth 2.0이란? (0) | 2020.05.18 |
JPA이란? (전체적인 개념, 느낀점) (0) | 2020.05.18 |