クラス RepeatTemplate
java.lang.ObjectSE
org.springframework.batch.repeat.support.RepeatTemplate
- 実装されているすべてのインターフェース:
RepeatOperations
- 既知の直属サブクラス
TaskExecutorRepeatTemplate
RepeatOperations を実装するバッチテンプレートの単純な実装と基本クラス。インターセプターとポリシーを含むフレームワークを提供します。サブクラスは、次の結果を取得するメソッドと、並行プロセスまたはスレッドからすべての結果が返されるのを待つメソッドを提供するだけで済みます。注意: テンプレートは反復中にスローされた例外を蓄積し、メインループが終了すると (つまり、アイテムの処理が終了すると)、それらはすべて一緒に処理されます。例外がスローされたときに実行を停止したくないクライアントは、例外を受け取ったときに終了しない特定の
CompletionPolicy を使用できます。これはデフォルトの動作ではありません。RepeatCallback によって例外がスローされたときに何らかのビジネスアクションを実行したいクライアントは、CompletionPolicy をカスタマイズしようとする代わりに、カスタム RepeatListener を使用することを検討できます。通常、これは実装しやすいインターフェースであり、コールバックの結果として RepeatListener.after(RepeatContext, RepeatStatus) メソッドが渡されます。これは、ビジネスプロセスが例外をスローした場合は ThrowableSE のインスタンスになります。例外が呼び出し元に伝搬されない場合は、デフォルト以外の CompletionPolicy も提供する必要がありますが、ビジネスアクションがインターセプターにのみ実装されているため、既製のものである可能性があります。- 作成者:
- Dave Syer, Mahmoud Ben Hassine
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクター方法の概要
修飾子と型メソッド説明protected final booleancanContinue(RepeatStatus value) バッチ処理の戻り値を確認してください。protected RepeatInternalStatecreateInternalState(RepeatContext context) 反復のスコープ内で内部的に必要なデータを格納するために使用される内部状態オブジェクトを作成します。protected voidexecuteAfterInterceptors(RepeatContext context, RepeatStatus value) コールバック結果のインターセプターの後に実行する簡易メソッド。protected RepeatStatusgetNextResult(RepeatContext context, RepeatCallback callback, RepeatInternalState state) 次の完了した結果を取得します。1 つが最終的に完了するまで、複数のコールバックを実行する可能性があります。protected booleanisComplete(RepeatContext context) CompletionPolicyに委譲します。protected booleanisComplete(RepeatContext context, RepeatStatus result) CompletionPolicyに委譲します。iterate(RepeatCallback callback) 完了ポリシーが完了したと判断するまで、バッチコールバックを実行します。voidregisterListener(RepeatListener listener) 追加のリスナーを登録します。voidsetCompletionPolicy(CompletionPolicy terminationPolicy) バッチがいつ完了するかを決定するポリシーの Setter。voidsetExceptionHandler(ExceptionHandler exceptionHandler) 例外ハンドラー戦略の Setter。voidsetListeners(RepeatListener[] listeners) このテンプレートのリスナーを設定し、繰り返しの適切なタイミングでコールバックに登録します。protected RepeatContextstart()CompletionPolicyに委譲します。protected voidupdate(RepeatContext context) CompletionPolicyに委譲します。protected boolean必要に応じて、リモートまたは並行プロセスから結果が返されるまで待ちます。
フィールドの詳細
logger
protected org.apache.commons.logging.Log logger
コンストラクターの詳細
RepeatTemplate
public RepeatTemplate()
メソッドの詳細
setListeners
このテンプレートのリスナーを設定し、繰り返しの適切なタイミングでコールバックに登録します。- パラメーター:
listeners- 使用するリスナー
registerListener
追加のリスナーを登録します。- パラメーター:
listener- リストに追加される単一のリスナー
setExceptionHandler
例外ハンドラー戦略の Setter。例外ハンドラーは、CompletionPolicyがバッチが完了したと判断した後、バッチの最後に呼び出されます。デフォルトでは、すべての例外が再スローされます。- パラメーター:
exceptionHandler- 使用するExceptionHandler。- 関連事項:
setCompletionPolicy
バッチがいつ完了するかを決定するポリシーの Setter。デフォルトでは、コールバックが継続可能としてマークされていないRepeatStatusを返したときに正常に完了し、コールバックが例外をスローしたときに異常終了します(ただし、例外を再スローする決定はExceptionHandlerに延期されます)。- パラメーター:
terminationPolicy- TerminationPolicy。- 例外:
IllegalArgumentExceptionSE- 引数が null の場合- 関連事項:
iterate
完了ポリシーが完了したと判断するまで、バッチコールバックを実行します。タスクエグゼキュータが非同期であっても、バッチ全体が完了するまで待ってから戻ります。- 次で指定:
- インターフェース
RepeatOperationsのiterate - パラメーター:
callback- バッチコールバック。- 戻り値:
- すべてのコールバック操作の結果の集約。このメソッドが再度呼び出された場合、
RepeatOperationsが処理を続行できるかどうかの指示。 - 関連事項:
createInternalState
反復のスコープ内で内部的に必要なデータを格納するために使用される内部状態オブジェクトを作成します。非同期結果のキューイングおよび取得を管理するためにサブクラスによって使用されます。デフォルトでは、バッチの最後に処理するための Throwable インスタンスの累積が提供されます。- パラメーター:
context- 現在のRepeatContext- 戻り値:
RepeatInternalStateインスタンス。- 関連事項:
getNextResult
protected RepeatStatus getNextResult(RepeatContext context, RepeatCallback callback, RepeatInternalState state) throws ThrowableSE 次の完了した結果を取得します。1 つが最終的に完了するまで、複数のコールバックを実行する可能性があります。このメソッドの実装は内部状態の詳細に依存するため、通常、サブクラスはこのメソッドとcreateInternalState(RepeatContext)の両方をオーバーライドする必要があります。- パラメーター:
context- 現在の BatchContext。callback- 実行するコールバック。state- 実装によって維持されます。- 戻り値:
- 完成した結果。
- 例外:
ThrowableSE- 反復中に放出される Throwable- 関連事項:
waitForResults
必要に応じて、リモートまたは並行プロセスから結果が返されるまで待ちます。デフォルトでは何もせず、true を返します。- パラメーター:
state- 内部状態。- 戻り値:
canContinue(RepeatStatus)が取得されたすべての結果に対して true の場合、true。
canContinue
バッチ処理の戻り値を確認してください。- パラメーター:
value- 最後のコールバック結果。- 戻り値:
- 値が
RepeatStatus.CONTINUABLEの場合は true。
executeAfterInterceptors
コールバック結果のインターセプターの後に実行する簡易メソッド。- パラメーター:
context- 現在のバッチコンテキスト。value- 処理するコールバックの結果。
isComplete
CompletionPolicyに委譲します。- パラメーター:
context- 現在のバッチコンテキスト。result- 最新のバッチアイテム処理の結果。- 戻り値:
- ポリシーと結果値に従って完了した場合は true、それ以外の場合は false。
- 関連事項:
isComplete
CompletionPolicyに委譲します。- パラメーター:
context- 現在のバッチコンテキスト。- 戻り値:
- 結果値を含まないポリシーのみに従って完了した場合は true、それ以外の場合は false。
- 関連事項:
start
CompletionPolicyに委譲します。- 戻り値:
- バッチステップの内部状態を格納するために実装で使用できる
RepeatContextオブジェクト。 - 関連事項:
update
CompletionPolicyに委譲します。- パラメーター:
context- start によって返される値。- 関連事項: