web-dev-qa-db-ja.com

QuartzトリガーのBLOCKED状態の意味

一部のQuartzジョブでは、失敗しました。データベースでトリガーのステータスを確認すると、BLOCKEDと表示されます。このBLOCKEDは具体的にどういう意味ですか?

15
user1484819

おそらく、ここに質問を投稿する前にいくつかの検索が役立つでしょうか?

WAITING =トリガーの通常の状態であり、その発火時刻が到着し、スケジューラーによって発動のために取得されるのを待機しています。

PAUSED =は、scheduler.pauseXXX()メソッドの1つが使用されたことを意味します。トリガーは、再開されるまで起動できません。

ACQUIRED =スケジューラノードは、このトリガーを、次に起動するトリガーとして識別しました-まだ、起動時間が到着するのを待っている可能性があります。トリガーが起動すると、トリガーが更新され(その繰り返し設定がある場合)、待機状態に戻ります(または繰り返しない場合は削除されます)。

BLOCKED =トリガーは既に実行中のStatefulJobに関連しているため、トリガーされません。ステートフルジョブが実行を完了すると、そのジョブに関連するすべてのトリガーが待機状態に戻ります。

つまり、状態がBLOCKEDの場合、別のトリガー(またはこのトリガーのインスタンス)がトリガーのステートフルジョブに対して既に実行されているため、このトリガーは、他のトリガーが完了するまでブロックされます。

ドキュメントへのリンクは、将来の参照に役立つ場合があります。 http://www.docjar.com/docs/api/org/quartz/Trigger.html

35