2017-02-28 13 views
1

私は、クォーツスケジューラを使用してジョブを動的にスケジュールしています。スプリングBeanクラスを使用するクォーツスケジューラを使用する別の方法が見つかりました。例えば、 。クォーツスケジューラライブラリよりSpringラッパークラスを使用する利点

これは、クォーツスケジューラを使用する通常の方法です。

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(); 

が、これは私たちが春のクラスを使用する方法である: -

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); 

はので、私は、石英ライブラリーの上に春のラッパークラスを使用する利点は何か知りたいと思いました。

答えて

1

いくつかのチュートリアルやブログを読んで、多くの人と議論した後、私はその答えを見つけました。 Spring Bean Containerに含めるjobDetailとトリガーを含める場合は、石英よりBeanラッパークラスを使用します。 これを行うことで、JobDetailクラスやCronTriggerクラスなどをAutowireできます。ジョブ、トリガー、スケジューリングクラスなどを作成するためにSpring Beanを利用することができます。

+1

クォーツのためのビーンスタイルの使用法、および依存性注入について説明します。 – yishaiz

関連する問題