3

Java Web アプリでクォーツ実装を使用しています。TriggerListener クラスを実装したので、トリガーが起動すると、vetoJobExecution(Trigger trigger, JobExecutionContext jobExecutionContext) メソッドが呼び出されます。参照テーブルをチェックして、ジョブを実行する必要があるかどうかを確認します。これはすべて正常に機能します。

壊れている部分は、ジョブを実行してはならない場合であるため、vetoJobExecution メソッドは false を返します。その後、トリガーは二度と発火しません。これは私が理解していない部分です。トリガーは起動し続け、ジョブを実行する必要があるかどうかを確認するために vetoJobExecution メソッドを呼び出し続ける必要があるようです。これは単に発生しません。ジョブが拒否されると、トリガーは再び起動せず、vetoJobExecution メソッドは呼び出されません。

私たちはQuartz 1.5.2を使用しています(ええ、それは古いです、私は知っています)。

TriggerListener インターフェイスを使用して Quartz ジョブを実行せに、次回トリガーを起動するための正しい戦略は何ですか?

4

1 に答える 1

2

バージョン 1.7.3 にアップグレードすることで修正されました。

于 2012-08-03T18:39:06.780 に答える