SpringBoot中异步线程池AsynConfigurer配置

本文介绍了SpringBoot中AsynConfigurer的重要性,用于配置异步线程池,避免使用默认的SimpleAsyncTaskExecutor导致的资源浪费。通过@EnableAsync和@Async实现异步操作,但需注意异常捕获需手动处理。文章还提及了相关类如AsyncExecutionInterceptor和AsyncExecutionAspectSupport。
摘要由CSDN通过智能技术生成

目录​​​​​​​

什么是AsynConfigurer

为什么需要AsynConfigurer

怎么配置AsynConfigurer

注意事项

统一异常捕获

其他相关类

AsyncExecutionInterceptor

AsyncExecutionAspectSupport

参考资料


什么是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都可

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值