XML Scheduling Plugin(XMLSchedulingDataProcessorPlugin
)を使用して、JDBCジョブストアの起動時に複数のジョブとトリガーをquartz-schedulerに作成しています。これはうまく動作しますが、私は単純なトリガーが1回だけ実行するように設定されている問題があります。再起動後にクォーラムXMLプラグインの再スケジュールされたトリガー
このようなトリガーが発火すると、次の発射時間がないのでデータベースから削除されます。ここまでは順調ですね。残念ながら、アプリケーションを再起動すると、プラグインはそのトリガーを見つけられず、再度挿入されます。 MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY
を使用しているので、このジョブは何度も実行され、データベースから再度削除されます。アプリケーションを再起動すると、プロセス全体が繰り返されます。
明らかに、私のトリガは1回だけ発射したい。次の発射時間を持たなくても、発射トリガをデータベースに保持することは可能ですか?あるいは、これは別の方法で解決できますか?私quartz_data.xml
ファイルからの抜粋:最後の実行に達したので、DBから削除されたすべてのトリガーに問題があること
<processing-directives>
<overwrite-existing-data>false</overwrite-existing-data>
<ignore-duplicates>true</ignore-duplicates>
</processing-directives>
<schedule>
<trigger>
<simple>
<!-- ... -->
<start-time>2012-05-10T07:00:00Z</start-time>
<repeat-count>0</repeat-count>
<repeat-interval>0</repeat-interval>
</simple>
</trigger>
注意。