TaskConfig.java 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package com.zx.dataservice.task;
  2. import org.springframework.context.annotation.Bean;
  3. import org.springframework.context.annotation.Configuration;
  4. import org.springframework.scheduling.annotation.EnableAsync;
  5. import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
  6. import java.util.concurrent.Executor;
  7. import java.util.concurrent.ThreadPoolExecutor;
  8. @Configuration
  9. @EnableAsync
  10. public class TaskConfig {
  11. // @Bean
  12. // public TaskScheduler taskScheduler() {
  13. // ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
  14. // // 设置scheduler执行线程为20个
  15. // scheduler.setPoolSize(2000);
  16. // return scheduler;
  17. // }
  18. @Bean("executorStock")
  19. public Executor taskSchedulerStock() {
  20. ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
  21. //核心线程数
  22. executor.setCorePoolSize(100);
  23. //最大核心线程数
  24. executor.setMaxPoolSize(200);
  25. //队列中等待被调度的任务数
  26. executor.setQueueCapacity(20);
  27. executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
  28. return executor;
  29. }
  30. @Bean("executorBond")
  31. public Executor taskSchedulerBond() {
  32. ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
  33. //核心线程数
  34. executor.setCorePoolSize(50);
  35. //最大核心线程数
  36. executor.setMaxPoolSize(100);
  37. //队列中等待被调度的任务数
  38. executor.setQueueCapacity(20);
  39. executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
  40. return executor;
  41. }
  42. }