クラス TaskExecutorRepeatTemplate
java.lang.ObjectSE
org.springframework.batch.repeat.support.RepeatTemplate
org.springframework.batch.repeat.support.TaskExecutorRepeatTemplate
- 実装されたすべてのインターフェース:
RepeatOperations
実行時の動作を変更または監視するために使用できるインターセプターを含む
この実装は、
このクラスは、そのコラボレーターがスレッドセーフである場合 (インターセプター、terminationPolicy、コールバック)、スレッドセーフです。通常はこれに該当しますが、タスク実行者が非同期である場合、他のコラボレーターも非同期である必要があることをクライアントは認識する必要があります。特に、execute メソッドにラップされている
RepeatOperations
サポートを提供します。この実装は、
RepeatCallback
をトランザクション化することで各項目のトランザクション動作を構成するのに十分であり、または実行メソッドをトランザクション化することでバッチ全体のトランザクション動作を構成するのに十分です (ただし、タスク実行者が同期している場合に限ります)。このクラスは、そのコラボレーターがスレッドセーフである場合 (インターセプター、terminationPolicy、コールバック)、スレッドセーフです。通常はこれに該当しますが、タスク実行者が非同期である場合、他のコラボレーターも非同期である必要があることをクライアントは認識する必要があります。特に、execute メソッドにラップされている
RepeatCallback
はスレッドセーフである必要があります。多くの場合、これは何らかの形式のデータソースに基づいており、それ自体がスレッドセーフかつトランザクションである必要があります (複数のスレッドがいつでもアクセスでき、各スレッドには独自のトランザクションがあります)。- 作成者:
- Dave Syer, Mahmoud Ben Hassine
フィールドサマリー
クラス org.springframework.batch.repeat.support.RepeatTemplate から継承されたフィールド
logger
コンストラクターのサマリー
方法の概要
修飾子と型メソッド説明protected RepeatInternalState
createInternalState
(RepeatContext context) 反復のスコープ内で内部的に必要なデータを格納するために使用される内部状態オブジェクトを作成します。protected RepeatStatus
getNextResult
(RepeatContext context, RepeatCallback callback, RepeatInternalState state) setTaskExecutor(TaskExecutor)
を使用して結果を生成します。void
setTaskExecutor
(org.springframework.core.task.TaskExecutor taskExecutor) 個々のアイテムコールバックの実行に使用されるタスクエグゼキューターの Setter。void
setThrottleLimit
(int throttleLimit) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。5.0 以降、6.0 で削除予定。protected boolean
すべての結果がキューに表示されるのを待ち、それぞれの結果インターセプターを実行します。クラス org.springframework.batch.repeat.support.RepeatTemplate から継承されたメソッド
canContinue, executeAfterInterceptors, isComplete, isComplete, iterate, registerListener, setCompletionPolicy, setExceptionHandler, setListeners, start, update
フィールドの詳細
DEFAULT_THROTTLE_LIMIT
public static final int DEFAULT_THROTTLE_LIMITテンプレートで許可される同時未完了結果の最大数のデフォルト制限。getNextResult(RepeatContext, RepeatCallback, RepeatInternalState)
- 関連事項:
コンストラクターの詳細
TaskExecutorRepeatTemplate
public TaskExecutorRepeatTemplate()
メソッドの詳細
setThrottleLimit
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。5.0 以降、6.0 で削除予定。代わりに、タスクキューの容量が制限されたプールされたTaskExecutor
実装を使用してください。スロットル制限のパブリック setter。スロットル制限は、一度に実行できる同時タスクの最大数です。新しいタスクが到着し、スロットル制限に違反した場合、実行中のタスクの 1 つが終了してから、新しいタスクをTaskExecutor
に送信します。デフォルト値はDEFAULT_THROTTLE_LIMIT
です。N.B. スレッドプールTaskExecutor
で使用する場合、スレッドプールはスロットル制限に実際に到達することを妨げる可能性があります(可能な場合、コアプールサイズをスロットル制限より大きくします)。- パラメーター:
throttleLimit
- throttleLimit を設定します。
setTaskExecutor
public void setTaskExecutor(org.springframework.core.task.TaskExecutor taskExecutor) 個々のアイテムコールバックの実行に使用されるタスクエグゼキューターの Setter。- パラメーター:
taskExecutor
- TaskExecutor- 例外:
IllegalArgumentExceptionSE
- 引数が null の場合
getNextResult
protected RepeatStatus getNextResult(RepeatContext context, RepeatCallback callback, RepeatInternalState state) throws ThrowableSE setTaskExecutor(TaskExecutor)
を使用して結果を生成します。この場合の内部状態は、型ResultHolder
の未完了の結果ホルダーのキューです。このメソッドが終了するとき、戻り値を持つホルダーはキューにいるべきではありません。キューは呼び出しメソッド内でスコープされるため、アクセスを同期する必要はありません。- オーバーライド:
- クラス
RepeatTemplate
のgetNextResult
- パラメーター:
context
- 現在の BatchContext。callback
- 実行するコールバック。state
- 実装によって維持されます。- 戻り値:
- 完成した結果。
- 例外:
ThrowableSE
- 反復中に放出される Throwable- 関連事項:
waitForResults
すべての結果がキューに表示されるのを待ち、それぞれの結果インターセプターを実行します。- オーバーライド:
- クラス
RepeatTemplate
のwaitForResults
- パラメーター:
state
- 内部状態。- 戻り値:
RepeatTemplate.canContinue(RepeatStatus)
が取得されたすべての結果に対して true の場合、true。- 関連事項:
createInternalState
クラスからコピーされた説明:RepeatTemplate
反復のスコープ内で内部的に必要なデータを格納するために使用される内部状態オブジェクトを作成します。非同期結果のキューイングおよび取得を管理するためにサブクラスによって使用されます。デフォルトでは、バッチの最後に処理するための Throwable インスタンスの累積が提供されます。- オーバーライド:
- クラス
RepeatTemplate
のcreateInternalState
- パラメーター:
context
- 現在のRepeatContext
- 戻り値:
RepeatInternalState
インスタンス。- 関連事項: