2014-12-02 3 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

작업이 선택되는지 확인하려면 quartz logging name = "org.quartz"level = "INFO"을 활성화하십시오. 작업 저장소로 데이터베이스를 사용하는 경우 QRTZ 테이블도 사용할 수 있습니다. – 6ton

답변

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); 
    } 
관련 문제