먼저 스레드 풀 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 설정 매개변수로: