异步拦截器
异步拦截器
public class AsyncHelloInterceptor implements AsyncHandlerInterceptor {
// 这是Spring3.2提供的方法,专门拦截异步请求的方式
@Override
public void afterConcurrentHandlingStarted(
HttpServletRequest request,
HttpServletResponse response,
Object handler
)
throws Exception {
System.out.println(
Thread.currentThread().getName() +
"---afterConcurrentHandlingStarted-->" +
request.getRequestURI()
);
}
@Override
public boolean preHandle(
HttpServletRequest request,
HttpServletResponse response,
Object handler
)
throws Exception {
System.out.println(
Thread.currentThread().getName() +
"---preHandle-->" +
request.getRequestURI()
);
return true;
}
@Override
public void postHandle(
HttpServletRequest request,
HttpServletResponse response,
Object handler,
ModelAndView modelAndView
)
throws Exception {
System.out.println(
Thread.currentThread().getName() +
"---postHandle-->" +
request.getRequestURI()
);
}
@Override
public void afterCompletion(
HttpServletRequest request,
HttpServletResponse response,
Object handler,
Exception ex
)
throws Exception {
System.out.println(
Thread.currentThread().getName() +
"---afterCompletion-->" +
request.getRequestURI()
);
}
}
需要说明的是:如果我们不是异步请求,
@Override
public void configureAsyncSupport(AsyncSupportConfigurer configurer) {
// 注册异步的拦截器、默认的超时时间、任务处理器TaskExecutor等等
//configurer.registerCallableInterceptors();
//configurer.registerDeferredResultInterceptors();
//configurer.setDefaultTimeout();
//configurer.setTaskExecutor();
}