2017-06-18 14 views
2

スケジューリングにQuartzライブラリを使用しています。私は与えられた時間から5時間ごとにジョブをスケジューリングしなければなりません。Quartz Cron指定時間から5時間ごとにジョブを実行する式

私は、次の式を使用してみました -

0 0 12/5 1/1 *? *

将来の実行の出力をCronmakerで確認しました。

スケジュール開始時刻 - > 2017年6月21日(火曜日)10:30

将来走る -

  1. 2017年6月21日(水曜日)12:00 PM
  2. 6月21日(水曜日)、 2017午後5:00
  3. 2017年6月21日(水曜日)午後10:00
  4. 2017年6月22日(木曜日)12:00 PM

表現は、それが求められているが、私は第四実行が第三の実行すなわち、これらの線に沿って何かに加えて、5時間になることを期待していた何を -

  1. 2017年6月21日(水曜日)12:00 PM
  2. 2017年6月21日(水曜日)午後5時
  3. 2017年6月21日(水曜日)午後10:00
  4. 2017年6月22日(木曜日)午前3:00

第四実行が次に行きます1日の午後12時のトリガー。私はそれが最後の実行の時間に追加されたい。 cron-expressionでこれを実現する方法はありますか?

+0

正しい表現は '0 0 0/5 1/1 *ですか? * ' – Rabban

答えて

2

CronScheduleあなたのやりたいことには最適ではありません。代わりに

使用SimpleSchedule

trigger = newTrigger() 
    .withIdentity("yourJobName", "yourJobGroup") 
    .withSchedule(simpleSchedule() 
     .withIntervalInHours(5) // every 5 hours 
     .repeatForever()) // keep going in intervals of 5h 
    .startAt(dateOf(12, 0, 0)) // start at 12:00 PM 
    .build(); 

あなたはofficial documentationでより多くの例を見つけることができます。

関連する問題