目录
什么是AsynConfigurer
AsynConfigurer的与@Async注解密不可分,在这里我们先说一下什么是@Async。@Async注解的就是通过AsyncAnnotationBeanPostProcessor这个后置处理器生成一个代理对象来实现异步的。
为什么需要AsynConfigurer
Spring可以通过@EnableAsync和@Async两个注解实现异步操作。启动类加上: @EnableAsync注解,同时并且在service上加上@Async注解。但是@Async用的是SimpleAsyncTaskExecutor线程池,如果没有对SimpleAsyncTaskExecutor做策略配置的话,是不复用线程的,也是对服务器资源的极大浪费。所以我们需要AsynConfigurer来配置异步线程池。
public interface AsyncConfigurer {
Executor getAsyncExecutor();
AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler();
}
怎么配置AsynConfigurer
配置的话很简单,只要继承一下AsynConfigurerSupport类就可以了。这里AsynConfigurer和AsynConfigurerSupport都可