@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;
}