|
@@ -5,6 +5,7 @@ import org.springframework.context.annotation.Configuration;
|
|
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
|
|
|
|
|
import java.util.concurrent.Executor;
|
|
|
+import java.util.concurrent.ThreadPoolExecutor;
|
|
|
|
|
|
@Configuration
|
|
|
public class AsyncConfig {
|
|
@@ -13,16 +14,36 @@ public class AsyncConfig {
|
|
|
@Bean("irRequest")
|
|
|
public Executor recAndSaveExecutor() {
|
|
|
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
|
|
|
- //核心线程数2:线程池创建时候初始化的线程数
|
|
|
- executor.setCorePoolSize(2);
|
|
|
- //最大线程数3:线程池最大的线程数,只有在缓冲队列满了之后才会申请超过核心线程数的线程
|
|
|
- executor.setMaxPoolSize(3);
|
|
|
- //缓冲队列5000:用来缓冲执行任务的队列
|
|
|
- executor.setQueueCapacity(10000);
|
|
|
+ //核心线程数1:线程池创建时候初始化的线程数
|
|
|
+ executor.setCorePoolSize(1);
|
|
|
+ //最大线程数2:线程池最大的线程数,只有在缓冲队列满了之后才会申请超过核心线程数的线程
|
|
|
+ executor.setMaxPoolSize(2);
|
|
|
+ //缓冲队列100:用来缓冲执行任务的队列
|
|
|
+ executor.setQueueCapacity(100);
|
|
|
//允许线程的空闲时间180秒:当超过了核心线程出之外的线程在空闲时间到达之后会被销毁
|
|
|
executor.setKeepAliveSeconds(180);
|
|
|
//线程池名的前缀:设置好了之后可以方便我们定位处理任务所在的线程池
|
|
|
executor.setThreadNamePrefix("OcrGoodsAsync-");
|
|
|
+ executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
|
|
|
+ executor.initialize();
|
|
|
+ return executor;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 声明一个线程池(并指定线程池的名字)
|
|
|
+ @Bean("ocrSave")
|
|
|
+ public Executor saveOcrRetExecutor() {
|
|
|
+ ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
|
|
|
+ //核心线程数5:线程池创建时候初始化的线程数
|
|
|
+ executor.setCorePoolSize(5);
|
|
|
+ //最大线程数8:线程池最大的线程数,只有在缓冲队列满了之后才会申请超过核心线程数的线程
|
|
|
+ executor.setMaxPoolSize(8);
|
|
|
+ //缓冲队列200:用来缓冲执行任务的队列
|
|
|
+ executor.setQueueCapacity(200);
|
|
|
+ //允许线程的空闲时间180秒:当超过了核心线程出之外的线程在空闲时间到达之后会被销毁
|
|
|
+ executor.setKeepAliveSeconds(180);
|
|
|
+ //线程池名的前缀:设置好了之后可以方便我们定位处理任务所在的线程池
|
|
|
+ executor.setThreadNamePrefix("OcrTripAsync-");
|
|
|
+ executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
|
|
|
executor.initialize();
|
|
|
return executor;
|
|
|
}
|