/*
*quarz的运用,从数据库中自动加载job
*
*/
public class ScanScheduler implements InitializingBean, ApplicationContextAware {
private Scheduler scheduler;
private void startScheduler() throws SchedulerException {
scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.start();
}
private void schedulerJob()throws ParseException, SchedulerException, ClassNotFoundException {
JobFrameService jobFrameService = (JobFrameService) this.context.getBean(BizContextNames.JOBFRAME_SERVICE);
List<JobFrameDTO> list = jobFrameService.queryAllJobs();
for (JobFrameDTO jobFrameDTO : list) {
if("Y".equals(jobFrameDTO.getEnable())&&jobFrameDTO.isStart()){
String jobDetailName = jobFrameDTO.getJobDetailName();
String jobClass = jobFrameDTO.getJobClass();
String cornTriggerName = jobFrameDTO.getCornTriggerName();
String cornTriggerExpression = jobFrameDTO.getCornTriggerExpression();
JobDetail jobDetail = new JobDetail(jobDetailName,Scheduler.DEFAULT_GROUP,Class.forName(jobClass));
CronTrigger trigger = new CronTrigger(cornTriggerName,null,cornTriggerExpression);
jobDetail.getJobDataMap().put("dataMap", jobFrameDTO.getDataMap());
scheduler.scheduleJob(jobDetail, trigger);
}
}
}
}
public void afterPropertiesSet() throws Exception {
this.startScheduler();
this.schedulerJob();
}
}
*quarz的运用,从数据库中自动加载job
*
*/
public class ScanScheduler implements InitializingBean, ApplicationContextAware {
private Scheduler scheduler;
private void startScheduler() throws SchedulerException {
scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.start();
}
private void schedulerJob()throws ParseException, SchedulerException, ClassNotFoundException {
JobFrameService jobFrameService = (JobFrameService) this.context.getBean(BizContextNames.JOBFRAME_SERVICE);
List<JobFrameDTO> list = jobFrameService.queryAllJobs();
for (JobFrameDTO jobFrameDTO : list) {
if("Y".equals(jobFrameDTO.getEnable())&&jobFrameDTO.isStart()){
String jobDetailName = jobFrameDTO.getJobDetailName();
String jobClass = jobFrameDTO.getJobClass();
String cornTriggerName = jobFrameDTO.getCornTriggerName();
String cornTriggerExpression = jobFrameDTO.getCornTriggerExpression();
JobDetail jobDetail = new JobDetail(jobDetailName,Scheduler.DEFAULT_GROUP,Class.forName(jobClass));
CronTrigger trigger = new CronTrigger(cornTriggerName,null,cornTriggerExpression);
jobDetail.getJobDataMap().put("dataMap", jobFrameDTO.getDataMap());
scheduler.scheduleJob(jobDetail, trigger);
}
}
}
}
public void afterPropertiesSet() throws Exception {
this.startScheduler();
this.schedulerJob();
}
}