Spring Boot でスレッドプールを設定する方法を教えてください。

スプリングブートでは、設定ファイルかプログラム上でマルチスレッドを設定できます。以下はよく使われる 2 つの方法です。

  1. プロパティファイルの使用: application.properties または application.yml ファイルでスレッドプールのプロパティを構成できます。たとえば、スレッドプールの corePoolSize、maxPoolSize、queueCapacity などのプロパティは、次の構成で構成できます。

application.properties

# 线程池配置
spring.task.execution.pool.core-size=10
spring.task.execution.pool.max-size=20
spring.task.execution.pool.queue-capacity=100

application.yml:

# 线程池配置
spring:
  task:
    execution:
      pool:
        core-size: 10
        max-size: 20
        queue-capacity: 100
  1. 開発コードを使う方法: 設定クラスにスレッドプールのBeanを定義し、属性を設定します。例えば、次のコードでスレッドプールのBeanを定義します。
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;

@Configuration
public class ThreadPoolConfig {

  @Bean
  public ThreadPoolTaskExecutor taskExecutor() {
    ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
    executor.setCorePoolSize(10);
    executor.setMaxPoolSize(20);
    executor.setQueueCapacity(100);
    executor.setThreadNamePrefix("MyThreadPool-");
    executor.initialize();
    return executor;
  }
}

@Beanアノテーションが付与された上記コードでは、taskExecutorという名前のスレッドプールBeanが定義され、コア·スレッド数、最大スレッド数、キュー容量、スレッド名の接頭辞などの属性が設定されています。

bannerAds