TaskConfig.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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("executorStock")
  12. public Executor taskSchedulerStock() {
  13. ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
  14. //核心线程数
  15. executor.setCorePoolSize(100);
  16. //最大核心线程数
  17. executor.setMaxPoolSize(200);
  18. //队列中等待被调度的任务数
  19. executor.setQueueCapacity(20);
  20. executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
  21. return executor;
  22. }
  23. @Bean("executorAfterStock")
  24. public Executor taskSchedulerAfterStock() {
  25. ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
  26. //核心线程数
  27. executor.setCorePoolSize(100);
  28. //最大核心线程数
  29. executor.setMaxPoolSize(200);
  30. //队列中等待被调度的任务数
  31. executor.setQueueCapacity(20);
  32. executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
  33. return executor;
  34. }
  35. @Bean("executorBond")
  36. public Executor taskSchedulerBond() {
  37. ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
  38. //核心线程数
  39. executor.setCorePoolSize(50);
  40. //最大核心线程数
  41. executor.setMaxPoolSize(100);
  42. //队列中等待被调度的任务数
  43. executor.setQueueCapacity(20);
  44. executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
  45. return executor;
  46. }
  47. @Bean("executorAfterBond")
  48. public Executor taskSchedulerAfterBond() {
  49. ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
  50. //核心线程数
  51. executor.setCorePoolSize(50);
  52. //最大核心线程数
  53. executor.setMaxPoolSize(100);
  54. //队列中等待被调度的任务数
  55. executor.setQueueCapacity(20);
  56. executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
  57. return executor;
  58. }
  59. @Bean("executorTempIndex")
  60. public Executor taskSchedulerTempIndex() {
  61. ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
  62. //核心线程数
  63. executor.setCorePoolSize(10);
  64. //最大核心线程数
  65. executor.setMaxPoolSize(20);
  66. //队列中等待被调度的任务数
  67. executor.setQueueCapacity(10);
  68. executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
  69. return executor;
  70. }
  71. @Bean("executorTempAfterIndex")
  72. public Executor taskSchedulerTempAfterIndex() {
  73. ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
  74. //核心线程数
  75. executor.setCorePoolSize(10);
  76. //最大核心线程数
  77. executor.setMaxPoolSize(20);
  78. //队列中等待被调度的任务数
  79. executor.setQueueCapacity(10);
  80. executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
  81. return executor;
  82. }
  83. @Bean("executorInFrontStock")
  84. public Executor taskSchedulerTempInFrontStock() {
  85. ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
  86. //核心线程数
  87. executor.setCorePoolSize(10);
  88. //最大核心线程数
  89. executor.setMaxPoolSize(20);
  90. //队列中等待被调度的任务数
  91. executor.setQueueCapacity(10);
  92. executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
  93. return executor;
  94. }
  95. }