クラス FaultTolerantChunkProcessor<I,O>
java.lang.ObjectSE
org.springframework.batch.core.step.item.SimpleChunkProcessor<I,O>
org.springframework.batch.core.step.item.FaultTolerantChunkProcessor<I,O>
- 実装されたすべてのインターフェース:
ChunkProcessor<I>
,org.springframework.beans.factory.InitializingBean
ChunkProcessor
インターフェースの FaultTolerant 実装。これにより、書き込み中に例外を引き起こすアイテムのスキップまたは再試行が可能になります。フィールドサマリー
クラス org.springframework.batch.core.step.item.SimpleChunkProcessor から継承されたフィールド
meterRegistry
コンストラクターのサマリー
コンストラクター説明FaultTolerantChunkProcessor
(ItemProcessor<? super I, ? extends O> itemProcessor, ItemWriter<? super O> itemWriter, BatchRetryTemplate batchRetryTemplate) メソッドのサマリー
修飾子と型メソッド説明getAdjustedOutputs
(Chunk<I> inputs, Chunk<O> outputs) 入力の追加保存データに基づいて出力を調整するサブクラスの拡張ポイント。protected int
getFilterCount
(Chunk<I> inputs, Chunk<O> outputs) フィルターカウントを計算するためのサブクラスの拡張ポイント。protected void
initializeUserData
(Chunk<I> inputs) 後でアカウンティングの目的で必要になった場合に備えて、サブクラスが入力内容を記憶できるようにするサブクラスの拡張ポイント。protected boolean
isComplete
(Chunk<I> inputs) 入力に追加データを保存するサブクラスの拡張ポイント。void
setBuffering
(boolean buffering) アイテムがバッファリングされているため、ロールバック後に常にチャンクとして返されることを示すフラグ。void
setChunkMonitor
(ChunkMonitor chunkMonitor) void
setKeyGenerator
(KeyGenerator keyGenerator) ロールバック全体で失敗したアイテムを識別するために使用するKeyGenerator
。void
setProcessorTransactional
(boolean processorTransactional) ItemProcessor
がトランザクションであることを示すフラグ(デフォルトは true)。void
setProcessSkipPolicy
(SkipPolicy SkipPolicy) void
setRollbackClassifier
(org.springframework.classify.Classifier<ThrowableSE, BooleanSE> rollbackClassifier) ロールバックを引き起こす例外(true を返す)と起こさない(false を返す)例外を区別できる分類子。void
setWriteSkipPolicy
(SkipPolicy SkipPolicy) transform
(StepContribution contribution, Chunk<I> inputs) protected void
単純な実装はSimpleChunkProcessor.doWrite(Chunk)
メソッドに委譲し、コントリビューションの書き込みカウントをインクリメントします。クラス org.springframework.batch.core.step.item.SimpleChunkProcessor から継承されたメソッド
afterPropertiesSet, doAfterWrite, doOnWriteError, doProcess, doWrite, getListener, process, registerListener, setItemProcessor, setItemWriter, setListeners, setMeterRegistry, stopTimer, writeItems
コンストラクターの詳細
FaultTolerantChunkProcessor
public FaultTolerantChunkProcessor(ItemProcessor<? super I, ? extends O> itemProcessor, ItemWriter<? super O> itemWriter, BatchRetryTemplate batchRetryTemplate)
メソッドの詳細
setKeyGenerator
ロールバック全体で失敗したアイテムを識別するために使用するKeyGenerator
。buffering flag
が true(デフォルト)の場合は使用されません。- パラメーター:
keyGenerator
- 設定するKeyGenerator
setProcessSkipPolicy
- パラメーター:
SkipPolicy
- アイテム処理用のSkipPolicy
setWriteSkipPolicy
- パラメーター:
SkipPolicy
- アイテム書き込み用のSkipPolicy
setRollbackClassifier
public void setRollbackClassifier(org.springframework.classify.Classifier<ThrowableSE, BooleanSE> rollbackClassifier) ロールバックを引き起こす例外(true を返す)と起こさない(false を返す)例外を区別できる分類子。- パラメーター:
rollbackClassifier
- 分類器
setChunkMonitor
- パラメーター:
chunkMonitor
- モニター
setBuffering
public void setBuffering(boolean buffering) アイテムがバッファリングされているため、ロールバック後に常にチャンクとして返されることを示すフラグ。そうしないと、ロールバック後に新しいチャンクに前に失敗したチャンクのアイテムが含まれる場合と含まれない場合があるため、状況はより複雑になります。- パラメーター:
buffering
- アイテムがバッファリングされる場合は true
setProcessorTransactional
public void setProcessorTransactional(boolean processorTransactional) ItemProcessor
がトランザクションであることを示すフラグ(デフォルトは true)。false の場合、再試行とスキップを伴うロールバックがある場合でも、プロセッサーはチャンクごとのアイテムごとに 1 回だけ呼び出されます。- パラメーター:
processorTransactional
- 設定するフラグ値
initializeUserData
クラスからコピーされた説明:SimpleChunkProcessor
後でアカウンティングの目的で必要になった場合に備えて、サブクラスが入力内容を記憶できるようにするサブクラスの拡張ポイント。デフォルトの実装では、入力の元のサイズを記憶するためにいくつかのユーザーデータを設定します。このメソッドがオーバーライドされた場合、ユーザーデータが一貫して処理されるように、SimpleChunkProcessor.isComplete(Chunk)
、SimpleChunkProcessor.getFilterCount(Chunk, Chunk)
、SimpleChunkProcessor.getAdjustedOutputs(Chunk, Chunk)
の一部またはすべても必要になる場合があります。- オーバーライド:
- クラス
SimpleChunkProcessor<I,
のO> initializeUserData
- パラメーター:
inputs
- プロセスへの入力
getFilterCount
クラスからコピーされた説明:SimpleChunkProcessor
フィルター数を計算するためのサブクラスの拡張ポイント。デフォルトは、入力サイズと出力サイズの差です。- オーバーライド:
- クラス
SimpleChunkProcessor<I,
のO> getFilterCount
- パラメーター:
inputs
- 変換後の入力outputs
- 変換後の出力- 戻り値:
- サイズの違い
- 関連事項:
isComplete
クラスからコピーされた説明:SimpleChunkProcessor
入力に追加のデータを格納するサブクラスの拡張ポイント。デフォルトでは、入力が空かどうかをチェックするだけです。- オーバーライド:
- クラス
SimpleChunkProcessor<I,
のO> isComplete
- パラメーター:
inputs
- 入力チャンク- 戻り値:
- 空の場合は true
- 関連事項:
getAdjustedOutputs
クラスからコピーされた説明:SimpleChunkProcessor
入力に保存された追加データに基づいて出力を調整するサブクラスの拡張ポイント。デフォルトの実装では、出力は変更されずに返されます。- オーバーライド:
- クラス
SimpleChunkProcessor<I,
のO> getAdjustedOutputs
- パラメーター:
inputs
- 変換の入力outputs
- 変換の結果- 戻り値:
- 出力は変更されません
- 関連事項:
transform
- オーバーライド:
- クラス
SimpleChunkProcessor<I,
のO> transform
- 例外:
ExceptionSE
write
protected void write(StepContribution contribution, Chunk<I> inputs, Chunk<O> outputs) throws ExceptionSE クラスからコピーされた説明:SimpleChunkProcessor
単純な実装では、SimpleChunkProcessor.doWrite(Chunk)
メソッドに委譲し、コントリビューションの書き込みカウントをインクリメントします。サブクラスは、フォールトトレランスなど、より複雑なシナリオを処理できます。出力項目がスキップされた場合は、入力からも削除する必要があります。- オーバーライド:
- クラス
SimpleChunkProcessor<I,
のO> write
- パラメーター:
contribution
- 現在のステップの貢献inputs
- 出力を生じさせた入力outputs
- 書き込む出力- 例外:
ExceptionSE
- 問題がある場合