Spring Boot 异步任务 -- @EnableAsync 详解

@EnableAsync 注解启用了 Spring 异步方法执行功能,在 Spring Framework API 中有详细介绍。

@EnableAsync 默认启动流程:
1 搜索关联的线程池定义:上下文中唯一的 TaskExecutor 实例,或一个名为 taskExecutorjava.util.concurrent.Executor 实例;
2 如果以上都没找到,则会使用 SimpleAsyncTaskExecutor 处理异步方法调用。

注意:具有 void 返回类型的带注释方法不能将任何异常发送回调用者,默认情况下此类未捕获异常只会被记录日志。

定制 @EnableAsync 启动行为:
1 实现 AsyncConfigurer 接口
2 实现 getAsyncExecutor() 方法自定义 java.util.concurrent.Executor
3 实现 getAsyncUncaughtExceptionHandler() 方法自定义 AsyncUncaughtExceptionHandler

示例:修改 AsyncConfig 配置类实现


你可能感兴趣的:(Spring Boot 异步任务 -- @EnableAsync 详解)