2016-07-25 17 views
14

Ben İlkbahar-çizme (sürüm 1.3.6) ve kuvars ve ben Spring-scheduler ile bir görev yapma arasındaki fark nedir merak ediyorum için yeni:Kuvars İş ve İlkbahar ile Çizelgeleme Görevleri Arasındaki Fark?

@Scheduled(fixedRate = 40000) 
    public void reportCurrentTime() { 
     System.out.println("Hello World"); 
    } 

Ve Quartz way:

0. Create sheduler. 
1. Job which implements Job interface. 
2. Create JobDetail which is instance of the job using the builder org.quartz.JobBuilder.newJob(MyJob.class) 
3. Create a Triger 
4. Finally set the job and the trigger to the scheduler 

public class HelloJob implements Job { 

    public HelloJob() { 
    } 

    public void execute(JobExecutionContext context) 
     throws JobExecutionException 
    { 
     System.err.println("Hello!"); 
    } 
    } 

ve sheduler:

kodunda
SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory(); 

    Scheduler sched = schedFact.getScheduler(); 

    sched.start(); 

    // define the job and tie it to our HelloJob class 
    JobDetail job = newJob(HelloJob.class) 
     .withIdentity("myJob", "group1") 
     .build(); 

    // Trigger the job to run now, and then every 40 seconds 
    Trigger trigger = newTrigger() 
     .withIdentity("myTrigger", "group1") 
     .startNow() 
     .withSchedule(simpleSchedule() 
      .withIntervalInSeconds(40) 
      .repeatForever()) 
     .build(); 

    // Tell quartz to schedule the job using our trigger 
    sched.scheduleJob(job, trigger); 

mu Kuvars İşler, Tetikleyiciler ve Schedulers tanımlamak daha esnek bir yol sağlar veya Bahar Zamanlayıcı iyidir başka bir şey vardır?

cevap

11

Yay Zamanlayıcı Java SE 1.4 gibi farklı JDKs içinde yürütücüleri uygulamalarını gizlemek için yazılı soyut bir katmandır, kendi özel uygulamaları olan Java SE 5 ve Java EE ortamlar.

Quartz Scheduler, CRON tabanlı veya Basit periyodik görev yürütmeye izin veren tam teşekküllü bir çizelgeleme yapısıdır.

Spring Scheduler, Quartz zamanlayıcısının tam işlevselliğini kullanmak için Quartz zamanlayıcı ile bir Trigger biçiminde entegrasyon sağlar. şirketinden Kuvars Zamanlayıcı belirli sınıfları kullanmadan Spring Zamanlayıcı kullanmanın

Avantaj ayırma katmanı esneklik ve gevşek bağlantı sağlamasıdır.