首页>代码>ssm整合vue实现会员管理系统,含1w字论文,可做毕业设计参考实例>/会员管理系统/member/member-admin/src/main/java/co/yixiang/config/thread/AsyncTaskExecutePool.java
/**
* Copyright (C) 2018-2022
* All rights reserved, Designed By www.member
* 注意:
* 本软件为www.member开发研制
*/
package co.yixiang.config.thread;
import lombok.extern.slf4j.Slf4j;
import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.AsyncConfigurer;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import java.util.concurrent.Executor;
import java.util.concurrent.ThreadPoolExecutor;
/**
* 异步任务线程池装配类
* @author https://juejin.im/entry/5abb8f6951882555677e9da2
* @date 2019年10月31日15:06:18
*/
@Slf4j
@Configuration
public class AsyncTaskExecutePool implements AsyncConfigurer {
/** 注入配置类 */
private final AsyncTaskProperties config;
public AsyncTaskExecutePool(AsyncTaskProperties config) {
this.config = config;
}
@Override
public Executor getAsyncExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
//核心线程池大小
executor.setCorePoolSize(config.getCorePoolSize());
//最大线程数
executor.setMaxPoolSize(config.getMaxPoolSize());
//队列容量
executor.setQueueCapacity(config.getQueueCapacity());
//活跃时间
executor.setKeepAliveSeconds(config.getKeepAliveSeconds());
//线程名字前缀
executor.setThreadNamePrefix("el-async-");
// setRejectedExecutionHandler:当pool已经达到max size的时候,如何处理新任务
// CallerRunsPolicy:不在新线程中执行任务,而是由调用者所在的线程来执行
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
executor.initialize();
return executor;
}
@Override
public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
return (throwable, method, objects) -> {
log.error("====" + throwable.getMessage() + "====", throwable);
log.error("exception method:" + method.getName());
};
}
}
最近下载更多
奋斗的小蚂蚁 LV15
10月22日
rowsy8888 LV6
7月12日
陈小灏 LV18
2月25日
java菜鸟1号 LV7
2024年12月4日
zolscy LV24
2024年11月27日
withyouatdusk LV2
2024年9月29日
wenjie_5419 LV13
2024年7月10日
15342201772 LV9
2024年6月25日
TY0165 LV20
2024年6月17日
bbczlitao LV9
2024年6月11日

最近浏览