public class StepExecutionSimpleCompletionPolicy extends StepExecutionListenerSupport implements CompletionPolicy
ステップの開始をリッスンすることにより、JobParameters
からコミット間隔を取得する CompletionPolicy
。CompletionPolicy
を使用できる場所であればどこでも(通常はステップのチャンクレベルで)使用し、StepExecutionListener
として周囲のステップに注入します。N.B. ステップが開始された後にのみ、完了ポリシーが使用可能になります。
遅延バインディング式(#{jobParameters['commit.interval']}
など)である commit-interval を使用してチャンクを宣言する方が簡単で、おそらく望ましいでしょう。その機能は Spring Batch 2.1.7 から利用できます。
CompletionPolicy
コンストラクターと説明 |
---|
StepExecutionSimpleCompletionPolicy() |
修飾子と型 | メソッドと説明 |
---|---|
void | beforeStep(StepExecution stepExecution) JobParameters から取得したコミット間隔で SimpleCompletionPolicy をセットアップします。 |
boolean | isComplete(RepeatContext context) コールバックが完了するのを待たずに、ポリシーが内部状態に従って完了を通知できるようにします。 |
boolean | isComplete(RepeatContext context, RepeatStatus result) コールバックからの最新の結果を考慮して、バッチが完了したかどうかを判断します。 |
void | setKeyName(java.lang.String keyName) コミット間隔を含む JobParameters の Long 値のキー名のパブリック setter。 |
RepeatContext | start(RepeatContext parent) バッチを実行するための新しいコンテキストを作成します。 |
java.lang.String | toString() 設定されている場合はラップされた CompletionPolicy にデリゲートし、そうでない場合は setKeyName(String) の値を返します。 |
void | update(RepeatContext context) 実装に現在のバッチの状態を更新する機会を与えます。 |
afterStep
public void setKeyName(java.lang.String keyName)
JobParameters
の Long 値のキー名のパブリック setter。デフォルトは "commit.interval" です。keyName
- 設定する keyNamepublic void beforeStep(StepExecution stepExecution)
JobParameters
から取得したコミット間隔で SimpleCompletionPolicy
をセットアップします。指定されたキー名を持つ Long パラメーターがある場合、このパラメーターの intValue が使用されます。そうでない場合は、例外がスローされます。StepExecutionListener
の beforeStep
StepExecutionListenerSupport
の beforeStep
stepExecution
- StepExecution
のインスタンス。StepExecutionListenerSupport.beforeStep(org.springframework.batch.core.StepExecution)
public boolean isComplete(RepeatContext context, RepeatStatus result)
CompletionPolicy
CompletionPolicy.isComplete(RepeatContext)
も同じである必要があります(ただし、必ずしもその逆ではないため、ここでの答えは結果に依存するため)。CompletionPolicy
の isComplete
context
- 現在のバッチコンテキスト。result
- 最新のバッチアイテム処理の結果。CompletionPolicy.isComplete(RepeatContext, RepeatStatus)
public boolean isComplete(RepeatContext context)
CompletionPolicy
CompletionPolicy
の isComplete
context
- 現在のバッチコンテキスト。CompletionPolicy.isComplete(org.springframework.batch.repeat.RepeatContext)
public RepeatContext start(RepeatContext parent)
CompletionPolicy
RepeatContext
を使用して属性に状態を格納することです。CompletionPolicy
の start
parent
- 進行中の場合は現在のコンテキスト。RepeatContext
CompletionPolicy.start(org.springframework.batch.repeat.RepeatContext)
public void update(RepeatContext context)
CompletionPolicy
CompletionPolicy
の update
context
- start によって返される値。CompletionPolicy.update(org.springframework.batch.repeat.RepeatContext)
public java.lang.String toString()
CompletionPolicy
にデリゲートし、そうでない場合は setKeyName(String)
の値を返します。java.lang.Object
の toString