クラス StepSynchronizationManager
java.lang.ObjectSE
org.springframework.batch.core.scope.context.StepSynchronizationManager
ステップスコープコンテキストの管理でフレームワークを使用するための主要コンビニエンスクラス。通常、
Step
の実装でのみ使用されます。N.B. プールからのワーカースレッドを含む、ステップ実行に関与する可能性のあるすべてのスレッドで StepContext
が使用可能であることを確認するのは、すべての Step
実装の責任です。- 作成者:
- Dave Syer, Michael Minella, Mahmoud Ben Hassine
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明static void
close()
現在のコンテキストの登録を解除する方法 -getContext()
が常に正しい値を返すように、一致するregister(StepExecution)
と組み合わせて使用する必要があります。static StepContext
現在のコンテキストの Getter(存在する場合)、それ以外の場合はnull
を返します。static StepContext
register
(StepExecution stepExecution) コンテキストを現在のスレッドに登録します。常に一致するclose()
呼び出しを finally ブロックに入れて、囲んでいるブロックで正しいコンテキストが使用できるようにします。static void
release()
便利な「ディープ」クローズ操作。
コンストラクターの詳細
StepSynchronizationManager
public StepSynchronizationManager()
メソッドの詳細
getContext
現在のコンテキストの Getter(存在する場合)、それ以外の場合はnull
を返します。- 戻り値:
- 現在の
StepContext
またはnull
がない場合(このスレッドに登録されていない場合)。
register
コンテキストを現在のスレッドに登録します。常に一致するclose()
呼び出しを finally ブロックに入れて、囲んでいるブロックで正しいコンテキストが使用できるようにします。- パラメーター:
stepExecution
- 登録するステップコンテキスト- 戻り値:
- 新しい
StepContext
、または同じStepExecution
がある場合は現在のStepContext
close
public static void close()現在のコンテキストの登録を解除する方法 -getContext()
が常に正しい値を返すように、一致するregister(StepExecution)
と組み合わせて使用する必要があります。StepContext.close()
を呼び出さない - コンテキストへの参照があり(登録済み)、ステップが実際にいつ終了したかを知っているのは呼び出し元だけであるため、呼び出し元に任されています。release
public static void release()便利な「ディープ」クローズ操作。現在のコンテキストのステップ実行が終了している場合は、close()
の代わりにこれを呼び出します。StepContext.close()
にデリゲートしてから、最終ブロックでclose()
も呼び出されるようにします。