|
@@ -5,6 +5,9 @@ import org.springframework.context.annotation.Configuration;
|
|
|
import org.springframework.scheduling.annotation.EnableAsync;
|
|
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
|
|
|
|
|
+import java.util.concurrent.Executor;
|
|
|
+import java.util.concurrent.ThreadPoolExecutor;
|
|
|
+
|
|
|
@Configuration
|
|
|
@EnableAsync
|
|
|
public class AsyncConfig {
|
|
@@ -18,4 +21,22 @@ public class AsyncConfig {
|
|
|
executor.initialize();
|
|
|
return executor;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 取消邮件
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Bean(name = "inspectionCancelTaskExecutor")
|
|
|
+ public Executor rectifySaveTaskExecutor() {
|
|
|
+ ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
|
|
|
+ executor.setCorePoolSize(4); // 核心线程数
|
|
|
+ executor.setMaxPoolSize(8); // 最大线程数
|
|
|
+ executor.setQueueCapacity(100); // 队列大小
|
|
|
+ executor.setKeepAliveSeconds(60); // 线程空闲时间
|
|
|
+ executor.setThreadNamePrefix("inspection-cancel-thread-"); // 线程名前缀
|
|
|
+ executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); // 拒绝策略
|
|
|
+ executor.initialize();
|
|
|
+ return executor;
|
|
|
+ }
|
|
|
}
|