使用spring wrapper类比使用quartz调度程序库

时间:2017-02-28 11:29:10

标签: java spring spring-boot quartz-scheduler

我正在使用quartz调度程序来动态调度作业。我找到了另一种使用spring bean类的石英调度程序的方法。 例如。

这是使用石英调度程序的常规方法。

SchedulerFactory sf = new StdSchedulerFactory();
Scheduler sched = sf.getScheduler();
JobDetail job = newJob(SimpleJob.class).withIdentity("job2", "group1").build();
CronTrigger trigger = newTrigger().withIdentity("trigger2", "group1").withSchedule(cronSchedule("0/2 * * * * ?")).build();
sched.scheduleJob(job, trigger);    
sched.start();

这就是我们使用spring类的方法: -

JobDetailFactoryBean job = new JobDetailFactoryBean();
job.setName(list.get(a).getJobName());
job.setDurability(true);
job.setGroup("group");
CronTriggerFactoryBean ret = new CronTriggerFactoryBean();
trigger.setCronExpression(list.get(a).getCronExpression());
trigger.setGroup("group");
trigger.setName(list.get(a).getCronExpressionName());
trigger.setJobDetail(job.getObject());
SchedulerFactoryBean sched = new SchedulerFactoryBean();
sched.setOverwriteExistingJobs(true);
sched.setTriggers(trigger);

所以我想知道使用spring包装类比石英库有什么好处。

1 个答案:

答案 0 :(得分:2)

经过几个教程和博客并与很多人讨论后,我找到了答案。如果想要包含我们的jobDetail和触发器以包含在Spring Bean容器中,我们使用Bean包装类而不是quartz。 通过这样做,我们可以自动装配JobDetail和CronTrigger类等。我们可以利用spring-beans创建我们的工作,触发器和调度类等。