liql il y a 3 ans
Parent
commit
d46a6bd745

+ 1 - 0
ruoyi-admin/pom.xml

@@ -95,6 +95,7 @@
                 <configuration>
                     <fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
                 </configuration>
+
                 <executions>
                     <execution>
                         <goals>

+ 7 - 0
ruoyi-common/pom.xml

@@ -126,6 +126,13 @@
             <version>2.2.6</version>
         </dependency>
 
+        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>1.16.10</version>
+        </dependency>
+
     </dependencies>
 
 </project>

+ 12 - 1
ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java

@@ -3,9 +3,12 @@ package com.ruoyi.framework.config;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.ScheduledThreadPoolExecutor;
 import java.util.concurrent.ThreadPoolExecutor;
+
+import com.ruoyi.framework.manager.VisiableThreadPoolTaskExecutor;
 import org.apache.commons.lang3.concurrent.BasicThreadFactory;
 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 com.ruoyi.common.utils.Threads;
 
@@ -15,6 +18,7 @@ import com.ruoyi.common.utils.Threads;
  * @author ruoyi
  **/
 @Configuration
+@EnableAsync
 public class ThreadPoolConfig
 {
     // 核心线程池大小
@@ -29,16 +33,23 @@ public class ThreadPoolConfig
     // 线程池维护线程所允许的空闲时间
     private int keepAliveSeconds = 300;
 
+    // 配置线程池中的线程的名称前缀 *
+    private String threadNamePrefix="async-service-";
+
     @Bean(name = "threadPoolTaskExecutor")
     public ThreadPoolTaskExecutor threadPoolTaskExecutor()
     {
-        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+       // ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+        ThreadPoolTaskExecutor executor = new VisiableThreadPoolTaskExecutor();
         executor.setMaxPoolSize(maxPoolSize);
         executor.setCorePoolSize(corePoolSize);
         executor.setQueueCapacity(queueCapacity);
         executor.setKeepAliveSeconds(keepAliveSeconds);
+        executor.setThreadNamePrefix(threadNamePrefix);
         // 线程池对拒绝任务(无线程可用)的处理策略
         executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
+        //执行初始化 *
+        executor.initialize();
         return executor;
     }