2017-01-17 5 views
0

私は様々なスケジュールの頻度のためのクォーツトリガを作成しています。 関数の最後に私はトリガーを返しますが、デバッグ出力はreturnステートメントの前に出力します。 デバッグ出力はTrigger 'DEFAULT.6da64b5bd2ee-91b0fa99-6e11-4356-a55f-e80353b61fc4': triggerClass: 'org.quartz.impl.triggers.DailyTimeIntervalTriggerImpl calendar: 'null' misfireInstruction: -1 nextFireTime: nullです。 nextFireTimeがヌルであることが心配ですが、トリガはまだ発火しますか?JavaクォーツスケジューラトリガnextFireTime is null

if (freqType.equalsIgnoreCase(KpiDefinition.KPI_FREQ_TYPE_DAILY) 
       || freqType 
         .equalsIgnoreCase(KpiDefinition.KPI_FREQ_TYPE_SCHEDULED)) 
     { 
      DailyTimeIntervalScheduleBuilder schedule = DailyTimeIntervalScheduleBuilder 
        .dailyTimeIntervalSchedule() 
        .startingDailyAt(startTime) 
        .endingDailyAt(endTime) 
        .onEveryDay() 
        .withInterval(kpiDef.getKpiFrequency().intValue(), 
          IntervalUnit.valueOf(kpiDef.getKpiFreqTimeUnit())) 
        .withMisfireHandlingInstructionIgnoreMisfires(); 

      Date startDate = kpiDef.getKpiStartDate(); 
      if (startDate.before(new Date())) 
      { 
       startDate = new Date(); 
      } 

      if (freqType.equalsIgnoreCase(KpiDefinition.KPI_FREQ_TYPE_DAILY)) 
      { 

       trigger = newTrigger().withSchedule(schedule) 
         .startAt(startDate).build(); 
      } else if (freqType 
        .equalsIgnoreCase(KpiDefinition.KPI_FREQ_TYPE_SCHEDULED)) 
      { 
       Date endDate = kpiDef.getKpiEndDate(); 

       // This means that schedule has already passed and so KPI should 
       // not be scheduled. 
       if (endDate.before(new Date())) 
       { 
        logger.debug("getTriggerWithSchedule for KPI " + kpiDef.getKpiDefId() + " null Schedule returned for end date " +endDate.toString()); 
        return null; 
       } 
       trigger = newTrigger().withSchedule(schedule) 
         .startAt(startDate).endAt(endDate).build(); 
      } 
     } 

答えて

1

nextFireTimeだけ私の経験でCronTrigger秒間解決されます。コードの

パートは次のようになります。たとえば、SimpleTriggernextFireTime=nullです。だから私は心配しないだろう。心の中で

クマもこの:

返された値がトリガは、スケジューラに追加された後まで有効であることが保証されていません。

http://www.quartz-scheduler.org/api/2.1.7/org/quartz/Trigger.html#getNextFireTime()