2014-12-02 111 views
0

我正在嘗試創建兩個每天執行的任務。出於某種原因,只有第一份工作正在執行。沒有例外被拋出。任何想法爲什麼這可能是這種情況?這裏是我的代碼:石英調度程序 - 第二個任務不執行

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

      Scheduler sched = schedFact.getScheduler(); 

      sched.start(); 


     JobDetail sysJob = newJob(SysParseJob.class).withIdentity("sysJob").build(); 

     Trigger sysTrigger = newTrigger() 
       .withIdentity("sysTrigger") 
       .forJob("sysJob") 
       .withSchedule(dailyAtHourAndMinute(0, 5)) // execute job daily at 12:05 
       .build(); 

     sched.scheduleJob(sysJob, sysTrigger); 


     JobDetail histJob = newJob(HistParseJob.class).withIdentity("histJob").build(); 

     Trigger histTrigger = newTrigger() 
       .withIdentity("histTrigger") 
       .forJob("histJob") 
       .withSchedule(dailyAtHourAndMinute(0, 1)) // execute job daily at 12:01 
       .build(); 

     sched.scheduleJob(histJob, histTrigger); 
+0

啓用石英日誌記錄名稱=「org.quartz」level =「INFO」以查看您的工作是否被選中。如果你使用數據庫作爲工作商店,你也可以使用QRTZ表 – 6ton 2014-12-02 17:52:40

回答

0

也許你的觸發器建立可能會有一些錯誤。檢查這是否可以解決您的目的

public static void main(String[] args) throws SchedulerException, 
      ParseException { 
     SchedulerFactory schedFact = new StdSchedulerFactory(); 
     Scheduler sched = schedFact.getScheduler(); 
     sched.start(); 

     JobDetail sysJob = JobBuilder.newJob(HelloJob1.class) 
       .withIdentity(new JobKey("sysJob")).build(); 

     Trigger sysTrigger = TriggerBuilder 
       .newTrigger() 
       .withIdentity(new TriggerKey("sysTrigger")) 
       .withSchedule(dailyAtHourAndMinute(0, 51)) 
       .startNow() 
       .build(); 
     sched.scheduleJob(sysJob, sysTrigger); 

     JobDetail histJob = JobBuilder.newJob(HelloJob2.class) 
       .withIdentity(new JobKey("histJob ")).build(); 

     Trigger sysTrigger2 = TriggerBuilder 
       .newTrigger() 
       .withIdentity(new TriggerKey("sysTrigger2")) 
       .withSchedule(dailyAtHourAndMinute(0, 52)) 
       .startNow() 
       .build(); 
     sched.scheduleJob(histJob, sysTrigger2); 
    } 

    private static CronScheduleBuilder dailyAtHourAndMinute(int hour,int minute){ 
     return CronScheduleBuilder.dailyAtHourAndMinute(hour, minute); 
    }