From 00c2f97c75712d8524566a000db24e1adc34dcb7 Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期二, 23 八月 2022 20:58:47 +0800 Subject: [PATCH] 优化页面内嵌iframe切换tab不刷新数据 --- src/main/java/com/ruoyi/common/utils/job/ScheduleUtils.java | 30 ++++++++++++++++++++++++++++-- 1 files changed, 28 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ruoyi/common/utils/job/ScheduleUtils.java b/src/main/java/com/ruoyi/common/utils/job/ScheduleUtils.java index bfadce2..0930519 100644 --- a/src/main/java/com/ruoyi/common/utils/job/ScheduleUtils.java +++ b/src/main/java/com/ruoyi/common/utils/job/ScheduleUtils.java @@ -10,9 +10,12 @@ import org.quartz.SchedulerException; import org.quartz.TriggerBuilder; import org.quartz.TriggerKey; +import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.ScheduleConstants; 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.project.monitor.domain.SysJob; /** @@ -80,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())) @@ -110,4 +118,22 @@ + "' cannot be used in cron schedule tasks", Code.CONFIG_ERROR); } } -} \ No newline at end of file + + /** + * 妫�鏌ュ寘鍚嶆槸鍚︿负鐧藉悕鍗曢厤缃� + * + * @param invokeTarget 鐩爣瀛楃涓� + * @return 缁撴灉 + */ + public static boolean whiteList(String invokeTarget) + { + String packageName = StringUtils.substringBefore(invokeTarget, "("); + int count = StringUtils.countMatches(packageName, "."); + if (count > 1) + { + return StringUtils.containsAnyIgnoreCase(invokeTarget, Constants.JOB_WHITELIST_STR); + } + Object obj = SpringUtils.getBean(StringUtils.split(invokeTarget, ".")[0]); + return StringUtils.containsAnyIgnoreCase(obj.getClass().getPackage().getName(), Constants.JOB_WHITELIST_STR); + } +} -- Gitblit v1.9.3