Browse Source

drone 测试

liql 2 years ago
parent
commit
185a4488ab

+ 69 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/manager/VisiableThreadPoolTaskExecutor.java

@@ -0,0 +1,69 @@
+package com.ruoyi.framework.manager;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
+import org.springframework.util.concurrent.ListenableFuture;
+
+import java.util.concurrent.Callable;
+import java.util.concurrent.Future;
+import java.util.concurrent.ThreadPoolExecutor;
+
+/**
+ * @Description TODO
+ * @Author liqinglong
+ * @DateTime 2021-07-02 17:36
+ * @Version 1.0
+ */
+public class VisiableThreadPoolTaskExecutor extends ThreadPoolTaskExecutor {
+    private static final Logger logger = LoggerFactory.getLogger(VisiableThreadPoolTaskExecutor.class);
+    private void showThreadPoolInfo(String prefix){
+        ThreadPoolExecutor threadPoolExecutor = getThreadPoolExecutor();
+        if(null == threadPoolExecutor){
+            return;
+        }
+        logger.info("{},{},taskCount [{}],completedTaskCount [{}],activeCount [{}],queueSize[{}]",
+                this.getThreadNamePrefix(),
+                prefix,
+                threadPoolExecutor.getTaskCount(),
+                threadPoolExecutor.getCompletedTaskCount(),
+                threadPoolExecutor.getActiveCount(),
+                threadPoolExecutor.getQueue().size());
+    }
+
+    @Override
+    public void execute(Runnable task) {
+        showThreadPoolInfo("1.do execute");
+        super.execute(task);
+    }
+
+    @Override
+    public void execute(Runnable task, long startTimeout) {
+        showThreadPoolInfo("2.do execute");
+        super.execute(task, startTimeout);
+    }
+
+    @Override
+    public Future<?> submit(Runnable task) {
+        showThreadPoolInfo("1.do submit");
+        return super.submit(task);
+    }
+
+    @Override
+    public <T> Future<T> submit(Callable<T> task) {
+        showThreadPoolInfo("2.do submit");
+        return super.submit(task);
+    }
+
+    @Override
+    public ListenableFuture<?> submitListenable(Runnable task) {
+        showThreadPoolInfo("1.do submitListenable");
+        return super.submitListenable(task);
+    }
+
+    @Override
+    public <T> ListenableFuture<T> submitListenable(Callable<T> task) {
+        showThreadPoolInfo("2.do submitListenable");
+        return super.submitListenable(task);
+    }
+}