From 23779284a67248c709e4118808550fcba9732d8a Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Sun, 19 Oct 2025 03:24:36 +0800 Subject: [PATCH] =?UTF-8?q?refactor(scheduler):=E9=87=8D=E6=9E=84=E8=B0=83?= =?UTF-8?q?=E5=BA=A6=E5=99=A8=E6=9E=9A=E4=B8=BE=E5=8C=85=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E5=B9=B6=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将 MisfireStrategyEnum 和 ScheduleTypeEnum 移至 enums 包- 更新所有相关导入路径 - 使用 CollectionTool 和 MapTool优化集合判断- 替换字符串工具方法为 StringTool 工具类- 添加日志异常堆栈信息输出-为 ExecutorRouteStrategyEnum 添加方法注释- 将 logger 声明为 final 类型 --- .../admin/controller/biz/JobInfoController.java | 4 ++-- .../xxl/job/admin/scheduler/alarm/JobAlarmer.java | 14 ++++++-------- .../{scheduler => enums}/MisfireStrategyEnum.java | 2 +- .../{scheduler => enums}/ScheduleTypeEnum.java | 2 +- .../scheduler/route/ExecutorRouteStrategyEnum.java | 3 +++ .../scheduler/thread/JobFailMonitorHelper.java | 2 +- .../admin/scheduler/thread/JobScheduleHelper.java | 4 ++-- .../job/admin/scheduler/trigger/XxlJobTrigger.java | 5 +++-- .../job/admin/service/impl/XxlJobServiceImpl.java | 4 ++-- .../xxl/job/admin/mapper/XxlJobInfoMapperTest.java | 4 ++-- 10 files changed, 23 insertions(+), 21 deletions(-) rename xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/{scheduler => enums}/MisfireStrategyEnum.java (94%) rename xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/{scheduler => enums}/ScheduleTypeEnum.java (95%) diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/biz/JobInfoController.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/biz/JobInfoController.java index 5c44e40f..a7d4a93b 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/biz/JobInfoController.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/biz/JobInfoController.java @@ -5,8 +5,8 @@ import com.xxl.job.admin.model.XxlJobGroup; import com.xxl.job.admin.model.XxlJobInfo; import com.xxl.job.admin.scheduler.exception.XxlJobException; import com.xxl.job.admin.scheduler.route.ExecutorRouteStrategyEnum; -import com.xxl.job.admin.scheduler.scheduler.MisfireStrategyEnum; -import com.xxl.job.admin.scheduler.scheduler.ScheduleTypeEnum; +import com.xxl.job.admin.scheduler.enums.MisfireStrategyEnum; +import com.xxl.job.admin.scheduler.enums.ScheduleTypeEnum; import com.xxl.job.admin.scheduler.thread.JobScheduleHelper; import com.xxl.job.admin.service.XxlJobService; import com.xxl.job.admin.util.I18nUtil; diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/alarm/JobAlarmer.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/alarm/JobAlarmer.java index a7ecbe7c..aba38ab0 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/alarm/JobAlarmer.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/alarm/JobAlarmer.java @@ -2,6 +2,8 @@ package com.xxl.job.admin.scheduler.alarm; import com.xxl.job.admin.model.XxlJobInfo; import com.xxl.job.admin.model.XxlJobLog; +import com.xxl.tool.core.CollectionTool; +import com.xxl.tool.core.MapTool; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeansException; @@ -16,7 +18,7 @@ import java.util.Map; @Component public class JobAlarmer implements ApplicationContextAware, InitializingBean { - private static Logger logger = LoggerFactory.getLogger(JobAlarmer.class); + private static final Logger logger = LoggerFactory.getLogger(JobAlarmer.class); private ApplicationContext applicationContext; private List jobAlarmList; @@ -29,22 +31,18 @@ public class JobAlarmer implements ApplicationContextAware, InitializingBean { @Override public void afterPropertiesSet() throws Exception { Map serviceBeanMap = applicationContext.getBeansOfType(JobAlarm.class); - if (serviceBeanMap != null && serviceBeanMap.size() > 0) { - jobAlarmList = new ArrayList(serviceBeanMap.values()); + if (MapTool.isNotEmpty(serviceBeanMap)) { + jobAlarmList = new ArrayList<>(serviceBeanMap.values()); } } /** * job alarm - * - * @param info - * @param jobLog - * @return */ public boolean alarm(XxlJobInfo info, XxlJobLog jobLog) { boolean result = false; - if (jobAlarmList!=null && jobAlarmList.size()>0) { + if (CollectionTool.isNotEmpty(jobAlarmList)) { result = true; // success means all-success for (JobAlarm alarm: jobAlarmList) { boolean resultItem = false; diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/scheduler/MisfireStrategyEnum.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/enums/MisfireStrategyEnum.java similarity index 94% rename from xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/scheduler/MisfireStrategyEnum.java rename to xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/enums/MisfireStrategyEnum.java index 79c71de9..d984eb06 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/scheduler/MisfireStrategyEnum.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/enums/MisfireStrategyEnum.java @@ -1,4 +1,4 @@ -package com.xxl.job.admin.scheduler.scheduler; +package com.xxl.job.admin.scheduler.enums; import com.xxl.job.admin.util.I18nUtil; diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/scheduler/ScheduleTypeEnum.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/enums/ScheduleTypeEnum.java similarity index 95% rename from xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/scheduler/ScheduleTypeEnum.java rename to xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/enums/ScheduleTypeEnum.java index b920e279..6ce66a3f 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/scheduler/ScheduleTypeEnum.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/enums/ScheduleTypeEnum.java @@ -1,4 +1,4 @@ -package com.xxl.job.admin.scheduler.scheduler; +package com.xxl.job.admin.scheduler.enums; import com.xxl.job.admin.util.I18nUtil; diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/route/ExecutorRouteStrategyEnum.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/route/ExecutorRouteStrategyEnum.java index a60735cb..808d01a2 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/route/ExecutorRouteStrategyEnum.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/route/ExecutorRouteStrategyEnum.java @@ -34,6 +34,9 @@ public enum ExecutorRouteStrategyEnum { return router; } + /** + * match router + */ public static ExecutorRouteStrategyEnum match(String name, ExecutorRouteStrategyEnum defaultItem){ if (name != null) { for (ExecutorRouteStrategyEnum item: ExecutorRouteStrategyEnum.values()) { diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/thread/JobFailMonitorHelper.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/thread/JobFailMonitorHelper.java index c4ce237d..82a37314 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/thread/JobFailMonitorHelper.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/thread/JobFailMonitorHelper.java @@ -73,7 +73,7 @@ public class JobFailMonitorHelper { } catch (Throwable e) { if (!toStop) { - logger.error(">>>>>>>>>>> xxl-job, job fail monitor thread error:{}", e); + logger.error(">>>>>>>>>>> xxl-job, job fail monitor thread error:{}", e.getMessage(), e); } } diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/thread/JobScheduleHelper.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/thread/JobScheduleHelper.java index 84e78824..05e66708 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/thread/JobScheduleHelper.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/thread/JobScheduleHelper.java @@ -3,8 +3,8 @@ package com.xxl.job.admin.scheduler.thread; import com.xxl.job.admin.scheduler.config.XxlJobAdminBootstrap; import com.xxl.job.admin.scheduler.cron.CronExpression; import com.xxl.job.admin.model.XxlJobInfo; -import com.xxl.job.admin.scheduler.scheduler.MisfireStrategyEnum; -import com.xxl.job.admin.scheduler.scheduler.ScheduleTypeEnum; +import com.xxl.job.admin.scheduler.enums.MisfireStrategyEnum; +import com.xxl.job.admin.scheduler.enums.ScheduleTypeEnum; import com.xxl.job.admin.scheduler.trigger.TriggerTypeEnum; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/trigger/XxlJobTrigger.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/trigger/XxlJobTrigger.java index 0da9d679..3e92a269 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/trigger/XxlJobTrigger.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/trigger/XxlJobTrigger.java @@ -12,6 +12,7 @@ import com.xxl.job.core.biz.model.TriggerParam; import com.xxl.job.core.enums.ExecutorBlockStrategyEnum; import com.xxl.job.core.util.IpUtil; import com.xxl.job.core.util.ThrowableUtil; +import com.xxl.tool.core.StringTool; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -60,7 +61,7 @@ public class XxlJobTrigger { XxlJobGroup group = XxlJobAdminBootstrap.getInstance().getXxlJobGroupMapper().load(jobInfo.getJobGroup()); // cover addressList - if (addressList!=null && addressList.trim().length()>0) { + if (StringTool.isNotBlank(addressList)) { group.setAddressType(1); group.setAddressList(addressList.trim()); } @@ -69,7 +70,7 @@ public class XxlJobTrigger { int[] shardingParam = null; if (executorShardingParam!=null){ String[] shardingArr = executorShardingParam.split("/"); - if (shardingArr.length==2 && isNumeric(shardingArr[0]) && isNumeric(shardingArr[1])) { + if (shardingArr.length==2 && StringTool.isNumeric(shardingArr[0]) && StringTool.isNumeric(shardingArr[1])) { shardingParam = new int[2]; shardingParam[0] = Integer.valueOf(shardingArr[0]); shardingParam[1] = Integer.valueOf(shardingArr[1]); diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java index 931e2249..ed02947d 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java @@ -6,8 +6,8 @@ import com.xxl.job.admin.model.XxlJobInfo; import com.xxl.job.admin.model.XxlJobLogReport; import com.xxl.job.admin.scheduler.cron.CronExpression; import com.xxl.job.admin.scheduler.route.ExecutorRouteStrategyEnum; -import com.xxl.job.admin.scheduler.scheduler.MisfireStrategyEnum; -import com.xxl.job.admin.scheduler.scheduler.ScheduleTypeEnum; +import com.xxl.job.admin.scheduler.enums.MisfireStrategyEnum; +import com.xxl.job.admin.scheduler.enums.ScheduleTypeEnum; import com.xxl.job.admin.scheduler.thread.JobScheduleHelper; import com.xxl.job.admin.scheduler.thread.JobTriggerPoolHelper; import com.xxl.job.admin.scheduler.trigger.TriggerTypeEnum; diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/mapper/XxlJobInfoMapperTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/mapper/XxlJobInfoMapperTest.java index 1d6bcfbf..de7697f0 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/mapper/XxlJobInfoMapperTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/mapper/XxlJobInfoMapperTest.java @@ -1,8 +1,8 @@ package com.xxl.job.admin.mapper; import com.xxl.job.admin.model.XxlJobInfo; -import com.xxl.job.admin.scheduler.scheduler.MisfireStrategyEnum; -import com.xxl.job.admin.scheduler.scheduler.ScheduleTypeEnum; +import com.xxl.job.admin.scheduler.enums.MisfireStrategyEnum; +import com.xxl.job.admin.scheduler.enums.ScheduleTypeEnum; import jakarta.annotation.Resource; import org.junit.jupiter.api.Test; import org.slf4j.Logger;