使用配置文件自定义线程池参数

首先创建线程池MyThreadConfig :

@Configuration
public class MyThreadConfig {
    
    

     @Bean
    public ThreadPoolExecutor threadPoolExecutor(){
    
    
       return new ThreadPoolExecutor(20,
                200,10,
                TimeUnit.SECONDS,new LinkedBlockingDeque<>(100000),
                Executors.defaultThreadFactory(),
                new ThreadPoolExecutor.AbortPolicy());
    }
}

再创建线程池配置类ThreadPoolConfigProperties:

@ConfigurationProperties(prefix = "gulimall.thread")
@Component
@Data
public 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作为参数传入:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42260782/article/details/131622807
今日推荐