springboot配置多线程池
1.添加properties配置文件
#线程池
ThreadPooling.cor_pool_size= 50
ThreadPooling.max_pool_size= 200
ThreadPooling.queue_capacity= 1000
ThreadPooling.keep_alive_second= 300
2.编写ThreadPoolingConfig类
@Configuration
@ConfigurationProperties(prefix = "ThreadPooling")
@EnableAsync //配置在2个地方:启动类和线程池配置类
@Data
@Bean(name = "asyncExecutor")
public ThreadPoolTaskExecutor eventExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setMaxPoolSize(maxPoolSize);
executor.setCorePoolSize(corPoolSize);
executor.setQueueCapacity(queueCapacity);
executor.setKeepAliveSeconds(keepAliveSecond);
// 线程池对拒绝任务(无线程可用)的处理策略
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
return executor;
}
3.编写需要异步执行的Service方法
@Async //用于异步处理,表明是需要异步执行的方法,后接对应配置线程池的Bean名称
@Async("asyncExecutor")
@Override
public void active(String topic,String payload) {
//TODO:
//注册功能
}
IDEA添加注释头快捷词
File->Setting->Editor->LIve Templates
右侧+号,Template Group,命名,再点右侧+号,Live Template,添加快捷词和描述
Template Text:
/**
* @Description: $description$
* @Author: 用户名
* @Date: $date$
*/
右上角Edit variables设置取值函数,下面define选择everywhere