首先创建线程池MyThreadConfig :
@Configurationpublic class MyThreadConfig {@Beanpublic ThreadPoolExecutor threadPoolExecutor(){return new ThreadPoolExecutor(20,200,10,TimeUnit.SECONDS,new LinkedBlockingDeque<>(100000),Executors.defaultThreadFactory(),new ThreadPoolExecutor.AbortPolicy());}}
再创建线程池配置类ThreadPoolConfigProperties:
@ConfigurationProperties(prefix = "gulimall.thread")@Component@Datapublic class ThreadPoolConfigProperties {//线程池核心大小private Integer coreSize;//最大大小private Integer maxSize;//休眠时长private Integer keepAlive;}
这里的gulimall.thread
为配置文件中的前缀
pom文件中加上依赖,可以自动补全配置文件
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency>
在配置文件中可以配置相关参数:
这里配置完成以后,需要在MyThreadConfig 中使用自定义的配置类:
两种方法:
第一:因为ThreadPoolConfigProperties已经被注入,直接在MyThreadConfig 上面使用注解@EnableConfigurationProperties(ThreadPoolConfigProperties.class):
第二种方法:
将ThreadPoolConfigProperties作为参数传入: