私はQuartz Schedulerを読んで試してみましたが、非常に優れた使いやすいプラットフォームのようです。ジョブ、トリガー、およびスケジューラ自体のためにQuartzによって提供されているさまざまなリスナーについて読んでいましたが、それらを実際のユースケースに接続することはできませんでした。
これらのリスナーを実際のアプリケーション開発で使用できるユースケースを理解してくれる人はいますか?
私はQuartz Schedulerを読んで試してみましたが、非常に優れた使いやすいプラットフォームのようです。ジョブ、トリガー、およびスケジューラ自体のためにQuartzによって提供されているさまざまなリスナーについて読んでいましたが、それらを実際のユースケースに接続することはできませんでした。
これらのリスナーを実際のアプリケーション開発で使用できるユースケースを理解してくれる人はいますか?
私が取り組んでいる製品には、お客様の特定のライセンスに基づいて有効/無効にされるさまざまな機能があります。
TriggerListenerを使用して、ライセンスに基づいてジョブを実行する必要があるかどうかを評価します。顧客が特定の機能のライセンスを取得していない場合、トリガーリスナーはジョブの実行を拒否します。
したがって、各ジョブのexecuteメソッドの先頭に次のようなものを記述する代わりに、
if (!license.isLicensed(token)) {
logger.debug("Not executing job because of license...");
return;
}
ロジックはリスナーに一元化でき、ライセンストークンを指定する各ジョブのクラスに注釈を追加できます。
一部の Quartz プラグイン[1]は、リスナーの上に構築されています。これは、リスナーを使用して次のことができることを意味します。
ジョブ/トリガーの実行時間と結果をログに記録し (Quartz がこれをすぐにログに記録していないとは信じられません)、ジョブの実行を監視します
上記の情報に基づいて、実行されたタスクを参照する機能を備えた完全な監視ソリューションを構築できます
しばらくしてから失敗したジョブを再スケジュールするリスナーを作成できます
いくつかの条件下でジョブの実行を無視する