springboot线程池配置
1. application.yml配置
# 异步线程配置
# 配置核心线程数
async.executor.thread.core_pool_size: 10
# 配置最大线程数
async.executor.thread.max_pool_size: 20
# 配置队列大小
async.executor.thread.queue_capacity: 99999
# 配置线程池中的线程的名称前缀
async.executor.thread.name.prefix: async-service-
2. config配置类
@Configuration
@EnableAsync
public class ExecutorConfig {
private static final Logger logger = LoggerFactory.getLogger(ExecutorConfig1.class);
@Value("${async.executor.thread.core_pool_size}")
private int corePoolSize;
@Value("${async.executor.thread.max_pool_size}")
private int maxPoolSize;
@Value("${async.executor.thread.queue_capacity}")
private int queueCapacity;
@Value("${async.executor.thread.name.prefix}")
private String namePrefix;
@Bean(name = "asyncServiceExecutor")
public Executor asyncServiceExecutor() {
logger.info("==============> start asyncServiceExecutor");
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
//配置核心线程数
executor.setCorePoolSize(corePoolSize);
//配置最大线程数
executor.setMaxPoolSize(maxPoolSize);
//配置队列大小
executor.setQueueCapacity(queueCapacity);
//配置线程池中的线程的名称前缀
executor.setThreadNamePrefix(namePrefix);
// rejection-policy:当pool已经达到max size的时候,如何处理新任务
// CALLER_RUNS:不在新线程中执行任务,而是有调用者所在的线程来执行
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
//执行初始化
executor.initialize();
return executor;
}
}
3. 调用, 直接在service方法上加注解
@Async("asyncServiceExecutor")
public void checkWork(long eProjectId, String projectIds) {
}
springboot线程池配置相关推荐
- SpringBoot线程池的创建、@Async配置步骤及注意事项
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:Muscleheng blog.csdn.net/Muscl ...
- Springboot应用中线程池配置教程(2021版)
前言:日常开发中我们常用ThreadPoolExecutor提供的线程池服务帮我们管理线程,在Springboot中更是提供了@Async注解来简化业务逻辑提交到线程池中执行的过程.由于Springb ...
- Springboot线程池的使用和扩展
我们常用ThreadPoolExecutor提供的线程池服务,springboot框架提供了@Async注解,帮助我们更方便的将业务逻辑提交到线程池中异步执行,今天我们就来实战体验这个线程池服务: 实 ...
- SpringBoot线程池ThreadPoolTaskExecutor和@Async异步方法浅解及代码应用示例
目录 线程池执行顺序 线程池配置策略 Spring线程池的配置类: Spring有.无返回值的异步调用示例 自定义的异步方法类代码: 测试类代码 常见问题: 参考文章: 线程池执行顺序 核心线程数(C ...
- 什么?用@Async会内存溢出?看看你的线程池配置了没!
上一篇我们介绍了如何使用@Async注解来创建异步任务,我可以用这种方法来实现一些并发操作,以加速任务的执行效率.但是,如果只是如前文那样直接简单的创建来使用,可能还是会碰到一些问题.存在有什么问题呢 ...
- Java多线程之线程池配置合理线程数
Java多线程之线程池配置合理线程数 目录 代码查看公司服务器或阿里云是几核的 合理线程数配置之CPU密集型 合理线程数配置之IO密集型 1. 代码查看公司服务器或阿里云是几核的 要合理配置线程数首先 ...
- 若依专题 线程池配置
若依项目 | 线程池配置 概括: ruoyi项目中的线程池配置以@bean的方式自定义ThreadPoolTaskExecutor对象.ScheduledExecutorService对象放入Spri ...
- spring定时任务Scheduled与定时任务线程池配置SchedulingConfigurer ,Java
spring定时任务Scheduled与定时任务线程池配置SchedulingConfigurer ,Java spring默认定时任务的使用 package zhangphil.demo;impor ...
- 解决URL存在特殊符号、异步线程池配置、动态加载lib下所有jar包
一.解决URL存在特殊符号|{}?&.URL中包含%2F.URL中包含%5C import lombok.extern.slf4j.Slf4j; import org.springframew ...
最新文章
- MySQL基础篇:用户和权限管理
- 使用Spring JDBC进行数据访问 (JdbcTemplate/NamedParameterJdbcTemplate/SimpleJdbcTemplate/SimpleJdbcCall/Stor)
- 培智学校计算机课教案,培智数学教案
- 阿里巴巴消息中间件: Spring Cloud Stream
- 程序员每天少吃 能活120岁
- MySQL基础篇(01):经典实用查询案例,总结整理
- vb.net编写函数应该在哪里_编写代码时清晰至上
- easy~算法刷题第三天
- 取消文件与svn服务器的关联
- Javascript深入浅出之闭包
- ARKit之路-ARKit概述之二
- 大型网站架构演进历程
- 2021 MCU WiFi竞争新格局,国产MCU WiFi芯片盘点,附录2020/2021 MCU WiFi排行
- dinic 最大流费用流模板
- 图片如何批量重命名?一步一步教会你
- 做网络必须掌握83句话,网络成功可以复制
- 一行代码!生成自己QQ、微信的动态二维码
- 前端 css3动画2D|3D
- linux系统漏洞firefart,CVE-2016-5195脏牛Linux提权复现
- WIFI6 TWT机制介绍
热门文章
- php.ini 是否设置路由,php – 如何在路由INI文件中为Zend Framework中的子域编写路由链?...
- mongodb java 执行js脚本_MongoDB编写并执行js脚本
- 动词ing基本用法_哪些动词后面只能接动名词背诵口诀
- Leetcode每日一题:136.single-number(只出现一次的数字)
- 吴恩达深度学习神经网络基础编程作业Planar data classification with one hidden layer
- 西瓜书+实战+吴恩达机器学习(十四)无监督学习之聚类(k-means, LVQ, 高斯混合聚类, DBSCAN, AGNES)
- Linux编程(2)_软件的安装和卸载
- python3爬取数据存入mysql_pyspider 数据存入Mysql--Python3
- 考上985能改变命运吗_2021艺考生:文化课成绩一般,有机会考上985、211吗?
- Cookie字符串转Map集合方法