From ee9ed3c099231277fee9782f1f419234e8979677 Mon Sep 17 00:00:00 2001 From: tjq Date: Tue, 9 Feb 2021 22:53:28 +0800 Subject: [PATCH] feat: new threads are given names to help locate problems #213 --- .../server/common/RejectedExecutionHandlerFactory.java | 7 ++++++- .../powerjob/server/common/config/ThreadPoolConfig.java | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/RejectedExecutionHandlerFactory.java b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/RejectedExecutionHandlerFactory.java index 691dee87..17eeecb2 100644 --- a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/RejectedExecutionHandlerFactory.java +++ b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/RejectedExecutionHandlerFactory.java @@ -3,6 +3,7 @@ package com.github.kfcfans.powerjob.server.common; import lombok.extern.slf4j.Slf4j; import java.util.concurrent.RejectedExecutionHandler; +import java.util.concurrent.atomic.AtomicLong; /** * 拒绝策略 @@ -13,6 +14,8 @@ import java.util.concurrent.RejectedExecutionHandler; @Slf4j public class RejectedExecutionHandlerFactory { + private static final AtomicLong COUNTER = new AtomicLong(); + /** * 直接丢弃该任务 * @param source log name @@ -50,7 +53,9 @@ public class RejectedExecutionHandlerFactory { log.warn("[{}] ThreadPool[{}] overload, the task[{}] will run by a new thread!", source, p, r); log.warn("[{}] Maybe you need to adjust the ThreadPool config!", source); if (!p.isShutdown()) { - new Thread(r).start(); + String threadName = source + "-T-" + COUNTER.getAndIncrement(); + log.info("[{}] create new thread[{}] to run job", source, threadName); + new Thread(r, threadName).start(); } }; } diff --git a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/config/ThreadPoolConfig.java b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/config/ThreadPoolConfig.java index 6ec3f08f..265b372f 100644 --- a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/config/ThreadPoolConfig.java +++ b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/config/ThreadPoolConfig.java @@ -34,7 +34,7 @@ public class ThreadPoolConfig { executor.setQueueCapacity(0); executor.setKeepAliveSeconds(60); executor.setThreadNamePrefix("omsTimingPool-"); - executor.setRejectedExecutionHandler(RejectedExecutionHandlerFactory.newThreadRun("PowerJobTimingPool")); + executor.setRejectedExecutionHandler(RejectedExecutionHandlerFactory.newThreadRun("PowerJob")); return executor; } @@ -55,7 +55,7 @@ public class ThreadPoolConfig { public TaskScheduler taskScheduler() { ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler(); scheduler.setPoolSize(Runtime.getRuntime().availableProcessors()); - scheduler.setThreadNamePrefix("omsSchedulerPool-"); + scheduler.setThreadNamePrefix("PowerJobSchedulePool-"); scheduler.setDaemon(true); return scheduler; }