クラス RepeatTemplate
java.lang.ObjectSE
org.springframework.batch.repeat.support.RepeatTemplate
- 実装されたすべてのインターフェース:
RepeatOperations
- 既知の直属サブクラス
TaskExecutorRepeatTemplate
RepeatOperations
を実装するバッチテンプレートの単純な実装と基本クラス。インターセプターとポリシーを含むフレームワークを提供します。サブクラスは、次の結果を取得するメソッドと、並行プロセスまたはスレッドからすべての結果が返されるのを待つメソッドを提供するだけで済みます。注意: テンプレートは反復中にスローされた例外を蓄積し、メインループが終了すると (つまり、アイテムの処理が終了すると)、それらはすべて一緒に処理されます。例外がスローされたときに実行を停止したくないクライアントは、例外を受け取ったときに終了しない特定の
CompletionPolicy
を使用できます。これはデフォルトの動作ではありません。RepeatCallback
によって例外がスローされたときに何らかのビジネスアクションを実行したいクライアントは、CompletionPolicy
をカスタマイズしようとする代わりに、カスタム RepeatListener
を使用することを検討できます。通常、これは実装しやすいインターフェースであり、コールバックの結果として RepeatListener.after(RepeatContext, RepeatStatus)
メソッドが渡されます。これは、ビジネスプロセスが例外をスローした場合は Throwable
SE のインスタンスになります。例外が呼び出し元に伝搬されない場合は、デフォルト以外の CompletionPolicy
も提供する必要がありますが、ビジネスアクションがインターセプターにのみ実装されているため、既製のものである可能性があります。- 作成者:
- Dave Syer, Mahmoud Ben Hassine
フィールドサマリー
コンストラクターのサマリー
方法の概要
修飾子と型メソッド説明protected final boolean
canContinue
(RepeatStatus value) バッチ処理の戻り値を確認してください。protected RepeatInternalState
createInternalState
(RepeatContext context) 反復のスコープ内で内部的に必要なデータを格納するために使用される内部状態オブジェクトを作成します。protected void
executeAfterInterceptors
(RepeatContext context, RepeatStatus value) コールバック結果のインターセプターの後に実行する簡易メソッド。protected RepeatStatus
getNextResult
(RepeatContext context, RepeatCallback callback, RepeatInternalState state) 次の完了した結果を取得します。1 つが最終的に完了するまで、複数のコールバックを実行する可能性があります。protected boolean
isComplete
(RepeatContext context) CompletionPolicy
に委譲します。protected boolean
isComplete
(RepeatContext context, RepeatStatus result) CompletionPolicy
に委譲します。iterate
(RepeatCallback callback) 完了ポリシーが完了したと判断するまで、バッチコールバックを実行します。void
registerListener
(RepeatListener listener) 追加のリスナーを登録します。void
setCompletionPolicy
(CompletionPolicy terminationPolicy) バッチがいつ完了するかを決定するポリシーの Setter。void
setExceptionHandler
(ExceptionHandler exceptionHandler) 例外ハンドラー戦略の Setter。void
setListeners
(RepeatListener[] listeners) このテンプレートのリスナーを設定し、繰り返しの適切なタイミングでコールバックに登録します。protected RepeatContext
start()
CompletionPolicy
に委譲します。protected void
update
(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 によって返される値。- 関連事項: