From 2f380f0c4177d02010759c0ecf0c63543bb90157 Mon Sep 17 00:00:00 2001 From: 若依 <yzz_ivy@163.com> Date: 星期五, 26 八月 2022 08:42:03 +0800 Subject: [PATCH] !564 修复执行任务时,若方法入口在任务的父类,则无法执行的问题 Merge pull request !564 from 捏造的信仰/fix-issue-I5NNXI --- ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java | 16 ++++++++++------ 1 files changed, 10 insertions(+), 6 deletions(-) diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java index ec2e0b8..e6dea10 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java @@ -15,6 +15,7 @@ import com.ruoyi.common.exception.job.TaskException; import com.ruoyi.common.exception.job.TaskException.Code; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.quartz.domain.SysJob; /** @@ -82,7 +83,12 @@ scheduler.deleteJob(getJobKey(jobId, jobGroup)); } - scheduler.scheduleJob(jobDetail, trigger); + // 判断任务是否过期 + if (StringUtils.isNotNull(CronUtils.getNextExecution(job.getCronExpression()))) + { + // 执行调度任务 + scheduler.scheduleJob(jobDetail, trigger); + } // 暂停任务 if (job.getStatus().equals(ScheduleConstants.Status.PAUSE.getValue())) @@ -125,11 +131,9 @@ int count = StringUtils.countMatches(packageName, "."); if (count > 1) { - if (!StringUtils.containsAnyIgnoreCase(invokeTarget, Constants.JOB_WHITELIST_STR)) - { - return false; - } + return StringUtils.containsAnyIgnoreCase(invokeTarget, Constants.JOB_WHITELIST_STR); } - return true; + Object obj = SpringUtils.getBean(StringUtils.split(invokeTarget, ".")[0]); + return StringUtils.containsAnyIgnoreCase(obj.getClass().getPackage().getName(), Constants.JOB_WHITELIST_STR); } } -- Gitblit v1.9.2