ㅎㅎ

일하면서 이런 이슈가 있었다.

 

Interceptor에서 데이터를 쌓고있는데

preHandle에서 왜 데이터가 두번 쌓이지?

 

라는 이슈가 있었다 

그래서 검색해보니 

 

https://www.logicbig.com/tutorials/spring-framework/spring-web-mvc/async-intercept.html

 

Spring MVC - Intercepting Async Requests using AsyncHandlerInterceptor

Spring MVC - Intercepting Async Requests using AsyncHandlerInterceptor [Updated: Feb 13, 2018, Created: Dec 9, 2016]

www.logicbig.com

 

이 링크를 찾았다

세상에 친절할 수가 

 

https://stackoverflow.com/questions/26995395/spring-mvc-interceptorhandler-called-twice-with-deferredresult

 

Spring MVC InterceptorHandler called twice with DeferredResult

When I am using custom HandlerInterceptor and my controller returns DeferredResult, the preHandle method of my custom interceptor called twice on each request. Consider a toy example. My custom

stackoverflow.com

 

 

즉 간단히 정리하자면 Async로 동작하면 Sync로 동작하는것과는  Interceptor가 다르게 동작한다.

ㅇ ㅏ , 물론 AsyncInterceptor를 사용했을때 말이다.

요 순서로 돌아간다고 생각하면 된다.

 

preHandle
afterConcurrentHandlingStarted
preHandle
postHandle
afterCompletion

 

그리고 첫번째 링크에 있는 그림을 보면 더 잘 이해가 간다.

다른 New Thread가 PreHandle 을 통과 하기 때문에 저 순서 인 것이다.

+ Recent posts