Reputation: 1374
I am using quartz scheduler to schedule jobs dynamically .I found another way of using quartz scheduler using spring bean classes. for example.
this is the normal way of using quartz scheduler.
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();
and this is how we use spring classes :-
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);
so i wanted to know what is the advantage of using spring wrapper classes over quartz library.
Upvotes: 2
Views: 730
Reputation: 1374
After going through several tutorials and blogs and discussing it with many people I found the answer. We use Bean wrapper classes over quartz if want to include our jobDetail and triggers to be included in the Spring Bean Container. By Doing this we can Autowire the JobDetail and CronTrigger classes etc. We can take advantage of spring-beans for creating our jobs , triggers and schedulerfactory classes etc.
Upvotes: 2