6

Quartzフレームワークを使用して、数百のジョブの実行をスケジュールすることを検討しています。

彼らの API によると、ジョブは特定の時点で実行するようにスケジュールできますが、次々に実行することはできません (また、1 つのジョブが失敗した場合はジョブのチェーンを停止します)。私が見つけることができた唯一の推奨される方法は次のとおりです。

  • ジョブの完了を通知し、次のトリガーの起動をスケジュールするリスナーの使用 (これをどのように調整しますか?)
  • 各ジョブは、次に実行するジョブを含むパラメーターを受け取り、実際の作業が完了した後、その実行をスケジュールします。(協力)

Quartz でジョブのワークフローを作成するためのより良い方法を知っていますか?

Java でワークフローを実装するための他の方法/フレームワークをお勧めできますか?

EDITED:その間、私は必要なものにぴったりだと思われるOSWorkflowについて知りました。実装する必要があるのは「シーケンス パターン」のようです。

4

4 に答える 4

2

Quartz のドキュメントで「ジョブ」について説明するとき、それは「ジョブ」インターフェースを実装するクラスを指しています。これは実際には、Quartz コンテキスト オブジェクトを受け取る「実行」メソッドを持つ任意のクラスです。この実装を作成すると、本当にやりたいことが何でもできます。

ワークフロー内のすべてのジョブを順番に呼び出すだけで、失敗時に JobExecutionException 例外をスローする Quartz ジョブ インターフェイスの実装を作成できます。

于 2009-10-13T14:01:18.177 に答える
1

Quartz に最初のジョブをスケジュールして、それからすべてを連鎖させたいように思えます。

Command Patternを使用して各タスクをカプセル化し、それらをリンクすることを検討しましたか?

于 2009-10-13T11:47:44.970 に答える
0

私は、Quartz を使用してフォールト トレラントな方法 (XML 形式で定義) で単純なワークフローを実装するジョブ チェーンを実行するDynamic Task Schedulerというプロジェクトに取り組んできました。

http://sourceforge.net/projects/dynatasksched/ を見てください
。このプロジェクトはベータ版ですが、開始するためのアイデアが得られると思います..

それが役に立つことを願っています!

于 2013-06-20T11:33:53.050 に答える