私のアプリケーションでは、ジョブを作成し、CronTriggers でスケジュールします。各ジョブには 1 つのトリガーしかなく、ジョブ名とトリガー名は同じです。トリガーを共有するジョブはありません。
この「0/1 * * * * ?」のような cron トリガーを作成すると、ジョブを毎秒実行するように指示すると、問題なく動作します。
次のように呼び出して最初にジョブを一時停止すると、問題が発生します。
scheduler.pauseJob(jobName, jobGroup);
そして、50秒後に次のようにジョブを再開します。
scheduler.resumeJob(jobName, jobGroup);
私が見ているのは、この 50 秒間、ジョブが要求どおりに実行されなかったことです。しかし、ジョブを再開した瞬間、同時に50回のジョブ実行が見られます!!!
これは不発指示のデフォルト設定によるものだと思いましたが、作成時にトリガーの不発指示をこれに設定した後でも:
trigger.setMisfireInstruction(CronTrigger.MISFIRE_INSTRUCTION_DO_NOTHING);
同じことが起こります。誰でもこれを修正する方法を提案できますか?