Blame view

src/main/java/com/objecteye/config/ExecutorConfig.java 1.16 KB
c83b5b39   Liu Haoyu   项目创建, 集成spring-se...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
  package com.objecteye.config;
  
  import org.springframework.context.annotation.Bean;
  import org.springframework.context.annotation.Configuration;
  import org.springframework.core.task.TaskExecutor;
  import org.springframework.scheduling.annotation.Async;
  import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
  
  import java.util.concurrent.ThreadPoolExecutor;
  
  /**
   * @author yumiu
   */
  @Configuration
  @Async
  public class ExecutorConfig {
  
      @Bean
      public TaskExecutor taskExecutor() {
          ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
          // 设置核心线程数
          executor.setCorePoolSize(5);
          // 设置最大线程数
          executor.setMaxPoolSize(20);
          // 设置队列容量
          executor.setQueueCapacity(50);
          // 设置线程活跃时间(秒)
          executor.setKeepAliveSeconds(60);
          //executor.setThreadNamePrefix("hello-");
          // 设置拒绝策略
          executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
          // 等待所有任务结束后再关闭线程池
          executor.setWaitForTasksToCompleteOnShutdown(true);
          return executor;
      }
  }