有时我们需要项目启动时执行某些操作
这时实现 ApplicationRunner接口 重写run方法即可 项目启动时会执行run方法里的操作
package com.*.myquartz;
import com.*.enums.DataStatus;
import com.*.task.schedule.form.ScheduleJobForm;
import com.*.task.schedule.service.ScheduleJobService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @Author by xup .
* @Descriptions
* @Datetime in 2018/1/31 11:41.
*/
@Component
@Slf4j
public class MyApplicationRunner implements ApplicationRunner {
@Autowired
private ScheduleJobService scheduleJobService;
@Override
//项目启动时重新激活启用的定时任务
public void run(ApplicationArguments applicationArguments) throws Exception {
ScheduleJobForm scheduleJobForm = new ScheduleJobForm();
scheduleJobForm.setDeleteFlag(DataStatus.DEFAULT.getStatus());
scheduleJobForm.setJobStatus(1);
List<ScheduleJobForm> scheduleJobList = scheduleJobService.selectList(scheduleJobForm);
log.info("##########################"+scheduleJobList.size());
if (CollectionUtils.isNotEmpty(scheduleJobList)){
scheduleJobService.initScheduleJob(scheduleJobList);
}
}
}
复制代码