Spring Boot 线程池配置
程序员文章站
2022-05-01 13:04:23
...
背景
在SpringBoot 执行多线程任务时,需指定线程池的相关配置,这里采用Bean + Annotation的方式启动Spring 线程池服务。
步骤
- 添加配置类 AsyncConfig.java
@Configuration
@EnableAsync
public class AsyncConfig implements AsyncConfigurer {
@Bean
public Executor taskExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
// 设置线程池核心容量
executor.setCorePoolSize(10);
// 设置线程池最大容量
executor.setMaxPoolSize(20);
// 设置任务队列长度
executor.setQueueCapacity(200);
// 设置线程超时时间
executor.setKeepAliveSeconds(60);
// 设置线程名称前缀
executor.setThreadNamePrefix("taskExecutor-");
// 设置任务丢弃后的处理策略
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
return executor;
}
@Override
public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
return new CustomAsyncExceptionHandler();
}
}
推荐阅读
-
Spring Boot 配置元数据指南
-
spring boot加载资源路径配置和classpath问题解决
-
spring boot使用自定义的线程池执行Async任务
-
详解Spring Boot配置使用Logback进行日志记录的实战
-
spring boot静态变量注入配置文件详解
-
Spring Boot 配置文件详解(小结)
-
Jenkins + Docker + dockerfile-maven-plugin + Harbor CI/CD spring-boot项目的最轻量级配置
-
Spring-Boot使用嵌入式容器,那怎么配置自定义Filter呢
-
Spring Boot使用yml格式进行配置的方法
-
Spring Boot项目添加外部Jar包以及配置多数据源的完整步骤