4

回復パターンを作成する必要があります。私のパターンでは、特定の時間枠でのみジョブを起動できます。ジョブが失敗した場合は、次のウィンドウでのみ再開されます。終了したら、このウィンドウで事前に計画されたスケジュール ジョブを開始したいと思います。ジョブ間の唯一の違いは、タイム ウィンドウ パラメータです。

JobExecutionDecider を JobExplorer と組み合わせたり、Joblauncher をオーバーライドしたりすることを考えました。しかし、すべてがあまりにも邪魔に思えます。

私のニーズに合った例が見つかりませんでした。どんなアイデアでも大歓迎です。

4

3 に答える 3

2

JobStepを検討しましたか?つまり、ステップは、実行する追加のジョブがあるかどうかを判別します。この値はStepExecutionContextに設定されます。次に、JobExecutionDeciderがこの値をチェックします。存在する場合は、ジョブを起動するJobStepに転送します。

これがそのドキュメントですhttp://docs.spring.io/spring-batch/reference/htmlsingle/#external-flows

于 2013-01-14T12:32:32.487 に答える
0

逆の方法でそれを行うことは可能ですか?

すべての時間枠で、その時間枠用のジョブを送信します。

ただし、ジョブの最初のステップでは、前の時間枠のジョブが正常に完了したかどうかを確認する必要があります。前に失敗した場合は、前のジョブを送信し、完了を待ってから独自のロジックに進みます。

于 2013-01-14T08:55:55.620 に答える