クォーツcronトリガーを使用するスプリングアプリケーションがあります。頻度00/20に次のように指定しました***?.....20分ごとに1回。しかし、私は最初のものをすぐに実行したいと思います。現在、アプリケーションを起動すると、20分後に実行されます。私はそれができるだけ早く実行され、その後20分後に実行されることを望んでいました。
前もって感謝します。
クォーツcronトリガーを使用するスプリングアプリケーションがあります。頻度00/20に次のように指定しました***?.....20分ごとに1回。しかし、私は最初のものをすぐに実行したいと思います。現在、アプリケーションを起動すると、20分後に実行されます。私はそれができるだけ早く実行され、その後20分後に実行されることを望んでいました。
前もって感謝します。
インターバルトリガーを使用したいようです(SimpleTrigger
Quartzではその仕事をすることができます)。はCronTrigger
、実行する分を指定するように求めています。
したがって、トリガースケジュールは次のようになります。0分から開始し、その後20分ごとに1時間が終了するまで実行します。その後、再び0から開始します。
しかし、でSimpleTrigger
、あなたは言う-今すぐ始めて、20分ごとに実行してください。
SimpleTriggerのチュートリアルは次のとおりです。http: //quartz-scheduler.org/documentation/quartz-2.x/tutorials/tutorial-lesson-05
CronTriggerのチュートリアルは次のとおりです。http: //quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger
20分ごとに特定のコードを実行するためにCRON式(およびQuartz!)は必要ありません。固定レートを使用するだけです(Springビルトイン):
@Scheduled(fixedRate=20 * 60 * 1000)
それでおしまい!デフォルトでは、最初の呼び出しはすぐに発生し、2番目は20分後に発生します。initialDelay=10000
Spring 3.2以降、正確に10秒後に初めて実行すると言うこともできます。
本当にQuartzを使いたいのなら、チェックしてくださいSimpleTrigger
。