最近、1.x から最新バージョンの 2.1.2 にアップグレードしました。私は db スクリプトを実行し、必要なコード変更を行いました。現在はテスト中です。1 つの奇妙な例外を除いて、すべてが期待どおりに機能しているようです。qrtz_trigger テーブルにクエリを実行する小さな UI があるので、実行されるすべてのスケジュールを確認できます。
毎日の CRON トリガーを使用してジョブをスケジュールすると、最初の実行では正しい時刻に実行されますが、2 回目以降は 1 時間ずれます。たとえば、毎日午後 2 時 30 分に実行するように毎日のジョブをスケジュールすると、cron 式は次のようになります。
0 30 14 ? * 月~日
また、CRON式はdbにもそのまま表示されます。qrtz_triggers テーブルを見ると、次のように表示されます (ティックから変換):
- NEXT_FIRE_TIME: 2013-08-15 14:30:00.000
- PREV_FIRE_TIME: NULL
ここまでは順調ですね。しかしその後、トリガーが起動し、ジョブが実行され、qrtz_triggers テーブルが次のように更新されます。
- NEXT_FIRE_TIME: 2013-08-16 13:30:00.000
- PREV_FIRE_TIME: 2013-08-15 14:30:00.000
混乱を避けるために、すべてのサーバーを UTC で実行しています。これはバグですか?ここで何が起こっているのでしょうか?この動作は 1.x では見られません