2016-04-28 14 views
0

石英トリガーを一時停止して翌日に指定した開始時刻に開始するにはどうすればよいですか? たとえば、私のcron表現は* 0/20 15-00 * *ですか?だから私はトリガを一時停止すると、翌日15:00に開始するはずです。指定した時刻に石英トリガーを開始する

答えて

1

一般に、トリガーを一時停止しても、次の発射時間には影響しません。

I.e.あなたが6時に毎日走るCronTriggerを持っていて、その日の発砲前にそのトリガーを一時停止すると、発砲していません。

しかし、次の火災時間は変更されていないので、そのトリガーはもう一度ポーズしてからMisfireInstructionを即時発射または実行する必要があります。トリガが起動されるか、そのMisfireInstructionが実行されるかは、MisfireThresholdに依存します。

CronTriggerの場合、CronTriggerのポーズを解除する前にnextFireTimeを調整するだけで済みます。 (CronTrigger.setNextFireTime()を参照)

+0

どのようにnextfiretimeを翌日のトリガー開始時刻に設定できますか? – Prakhar

+0

私は次のことをお勧めします:トリガーをポーズ解除する前に、 'cronTrigger.setNextFireTime(cronTrigger.getFireTimeAfter (new Date()))'を実行します。これで、CronTriggerの次の発射時間が、その後の関連するCronExpressionと一致する次の有効時間に設定されました。 – mam10eks

+0

ありがとうございました。私はこれを試して、あなたに戻ってきます。 – Prakhar

関連する問題