Spring Boot 配置定时任务

直接通过代码配置定时任务 1.定义一个SchedledConfiguration 实现以下方法

@Bean(name = "jobDetailFactoryBean")
public JobDetailFactoryBean jobDetailFactory() {
JobDetailFactoryBean factory = new JobDetailFactoryBean();
factory.setJobClass(ScheduledJob.class);

Map<String, Object> map = new HashMap<String, Object>();
map.put("name", "RAM");
map.put(ScheduledJob.COUNT, 1);
factory.setJobDataAsMap(map);
factory.setGroup("mygroup");
factory.setName("myjob");
factory.setDurability(true);

return factory;
}

@Bean(name = "cronTriggerFactoryBean")
public CronTriggerFactoryBean cronTriggerFactory(JobDetailFactoryBean jobDetailFactoryBean) {
CronTriggerFactoryBean tigger = new CronTriggerFactoryBean();
try {

tigger.setJobDetail(jobDetailFactoryBean.getObject());
tigger.setCronExpression(systemProperties.getCronSchedule());

} catch (ParseException e) {
e.printStackTrace();
}
return tigger;

}

@Bean
public SchedulerFactoryBean schedulerFactory(CronTriggerFactoryBean cronTriggerFactoryBean) {
SchedulerFactoryBean scheduler = new SchedulerFactoryBean();
scheduler.setTriggers(cronTriggerFactoryBean.getObject());
return scheduler;
}

2.实现ScheduledJob public class ScheduledJob extends QuartzJobBean { //实现具体任务 @Override protected void executeInternal(JobExecutionContext ctx) { } }
posted @ 2017-03-31 15:28  fourseasonzl  阅读(305)  评论(0编辑  收藏  举报