From faeecda3c31b82d795df6fbccf52a05c30c7f5b7 Mon Sep 17 00:00:00 2001 From: Administrator Date: Wed, 9 Aug 2017 22:05:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=87=AA=E5=8A=A8=E5=AE=9E?= =?UTF-8?q?=E4=BE=8B=E5=8C=96=E7=89=B9=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scheduler/AutoInitCommandLineRunner.java | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 udf-starter-scheduler/src/main/java/org/itkk/udf/scheduler/AutoInitCommandLineRunner.java diff --git a/udf-starter-scheduler/src/main/java/org/itkk/udf/scheduler/AutoInitCommandLineRunner.java b/udf-starter-scheduler/src/main/java/org/itkk/udf/scheduler/AutoInitCommandLineRunner.java new file mode 100644 index 0000000..eaa77cb --- /dev/null +++ b/udf-starter-scheduler/src/main/java/org/itkk/udf/scheduler/AutoInitCommandLineRunner.java @@ -0,0 +1,90 @@ +/** + * AutoInitCommandLineRunner.java + * Created at 2017-08-09 + * Created by Administrator + * Copyright (C) 2016 egridcloud.com, All rights reserved. + */ +package org.itkk.udf.scheduler; + +import java.util.Iterator; +import java.util.Map; + +import org.apache.commons.collections4.MapUtils; +import org.itkk.udf.scheduler.meta.CronTriggerMeta; +import org.itkk.udf.scheduler.meta.JobDetailMeta; +import org.itkk.udf.scheduler.meta.SimpleTriggerMeta; +import org.itkk.udf.scheduler.service.JobService; +import org.itkk.udf.scheduler.service.TriggerService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; +import org.springframework.stereotype.Component; + +/** + * 描述 : AutoInitCommandLineRunner + * + * @author Administrator + * + */ +@Component +public class AutoInitCommandLineRunner implements CommandLineRunner { + + /** + * 描述 : schedulerProperties + */ + @Autowired + private SchedulerProperties schedulerProperties; + + /** + * jobService + */ + @Autowired + private JobService jobService; + + /** + * triggerService + */ + @Autowired + private TriggerService triggerService; + + @Override + public void run(String... arg0) throws Exception { //NOSONAR + //自动实例化jobDetail + Map jobDetailMap = schedulerProperties.getJobDetail(); + if (MapUtils.isNotEmpty(jobDetailMap)) { + Iterator jobDetailKeys = jobDetailMap.keySet().iterator(); + while (jobDetailKeys.hasNext()) { + String key = jobDetailKeys.next(); + JobDetailMeta jobDetailMeta = jobDetailMap.get(key); + if (jobDetailMeta.getAutoInit()) { + jobService.save(key, true); + } + } + } + //自动实例化SimpleTrigger + Map simpleTriggerMetaMap = + schedulerProperties.getSimpleTrigger(); + if (MapUtils.isNotEmpty(simpleTriggerMetaMap)) { + Iterator simpleTriggerMetaKeys = simpleTriggerMetaMap.keySet().iterator(); + while (simpleTriggerMetaKeys.hasNext()) { + String key = simpleTriggerMetaKeys.next(); + SimpleTriggerMeta simpleTriggerMeta = simpleTriggerMetaMap.get(key); + if (simpleTriggerMeta.getAutoInit()) { + triggerService.saveSimpleTirgger(key, true); + } + } + } + //自动实例化cronTrigger + Map sronTriggerMap = schedulerProperties.getCronTrigger(); + if (MapUtils.isNotEmpty(sronTriggerMap)) { + Iterator sronTriggerMapKeys = sronTriggerMap.keySet().iterator(); + while (sronTriggerMapKeys.hasNext()) { + String key = sronTriggerMapKeys.next(); + CronTriggerMeta cronTriggerMeta = sronTriggerMap.get(key); + if (cronTriggerMeta.getAutoInit()) { + triggerService.saveCronTrigger(key, true); + } + } + } + } + +}