/** * Copyright (c) 2018 人人开源 All rights reserved. * * https://www.renren.io * * 版权所有,侵权必究! */ package com.iailab.module.job.init; import com.iailab.module.job.dao.ScheduleJobDao; import com.iailab.module.job.entity.ScheduleJobEntity; import com.iailab.module.job.utils.ScheduleUtils; import org.quartz.CronTrigger; import org.quartz.Scheduler; import javax.annotation.Resource; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component; import java.util.List; /** * 初始化定时任务数据 * * @author Mark sunlightcs@gmail.com */ @Component public class JobCommandLineRunner implements CommandLineRunner { @Resource private Scheduler scheduler; @Resource private ScheduleJobDao scheduleJobDao; @Override public void run(String... args) { List scheduleJobList = scheduleJobDao.selectList(null); for(ScheduleJobEntity scheduleJob : scheduleJobList){ CronTrigger cronTrigger = ScheduleUtils.getCronTrigger(scheduler, scheduleJob.getId()); //如果不存在,则创建 if(cronTrigger == null) { ScheduleUtils.createScheduleJob(scheduler, scheduleJob); }else { ScheduleUtils.updateScheduleJob(scheduler, scheduleJob); } } } }