2017-02-28 2 views
1

쿼츠 스케줄러를 사용하여 동적으로 작업을 예약합니다. 스프링 빈 클래스를 사용하는 쿼츠 스케줄러를 사용하는 다른 방법을 찾았습니다. 예 : .쿼츠 스케쥴러 라이브러리보다 스프링 래퍼 클래스를 사용하는 이점

이것은 석영 스케쥴러를 사용하는 일반적인 방법입니다.

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

여러 자습서와 블로그를 거쳐 많은 사람들과 토론 한 후 그 해답을 찾았습니다. 우리는 SpringDow Container에 포함될 jobDetail과 트리거를 포함시키려는 경우 쿼츠보다 Bean 래퍼 클래스를 사용합니다. 이렇게하면 JobDetail 및 CronTrigger 클래스를 Autowire 할 수 있습니다. 우리는 작업, 트리거 및 schedulerfactory 클래스 등을 만들기 위해 스프링 콩을 활용할 수 있습니다.

+1

그냥 대답하고 싶었습니다. 석영을위한 콩 스타일 사용, 그리고 의존성 주입 (Dependency Injection). – yishaiz