Переглянути джерело

Merge branch 'developer' into developerA

chao 3 роки тому
батько
коміт
cb19b32ecb

+ 0 - 1
src/main/java/com/caimei365/user/UserApplication.java

@@ -14,7 +14,6 @@ import org.springframework.scheduling.annotation.EnableAsync;
  * @author : Charles
  * @date : 2021/2/22
  */
-@EnableAsync
 @EnableDiscoveryClient
 @SpringBootApplication
 @EnableFeignClients(basePackages = {"com.caimei365.user.feign"})

+ 33 - 0
src/main/java/com/caimei365/user/config/TaskPoolConfig.java

@@ -0,0 +1,33 @@
+package com.caimei365.user.config;
+
+import org.springframework.context.annotation.Bean;
+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;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/11/12
+ */
+@Configuration
+@EnableAsync
+public class TaskPoolConfig {
+    @Bean("taskExecutor")
+    public Executor taskExecutor(){
+        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+        executor.setCorePoolSize(10);
+        executor.setMaxPoolSize(20);
+        executor.setQueueCapacity(200);
+        executor.setKeepAliveSeconds(60);
+        executor.setThreadNamePrefix("asyncTask-");
+        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
+        executor.setWaitForTasksToCompleteOnShutdown(true);
+        executor.setAwaitTerminationSeconds(60);
+        return executor;
+    }
+}

+ 1 - 1
src/main/java/com/caimei365/user/service/impl/AsyncService.java

@@ -32,7 +32,7 @@ public class AsyncService {
     @Resource
     private BaseMapper baseMapper;
 
-    @Async
+    @Async("taskExecutor")
     public void loginUpdateBeans(Integer userId, Integer identity) {
         boolean isClub = null != identity && (2 == identity || 4 == identity);
         if (isClub){