public class SimpleChunkProcessor<I,O> extends java.lang.Object implements ChunkProcessor<I>, org.springframework.beans.factory.InitializingBean
ChunkProcessor
インターフェースのシンプルな実装。発生した例外は再スローされます。ChunkOrientedTasklet
コンストラクターと説明 |
---|
SimpleChunkProcessor(ItemProcessor<? super I,? extends O> itemProcessor, ItemWriter<? super O> itemWriter) |
SimpleChunkProcessor(ItemWriter<? super O> itemWriter) |
修飾子と型 | メソッドと説明 |
---|---|
void | afterPropertiesSet() 必須プロパティを確認してください。 |
protected void | doAfterWrite(java.util.List<O> items) リスナーの after write メソッドを呼び出します。 |
protected void | doOnWriteError(java.lang.Exception e, java.util.List<O> items) リスナーの writerError メソッドを呼び出します。 |
protected O | doProcess(I item) |
protected void | doWrite(java.util.List<O> items) 実際の書き込み呼び出しをリスナーコールバックで囲みます。 |
protected Chunk<O> | getAdjustedOutputs(Chunk<I> inputs, Chunk<O> outputs) 入力の追加保存データに基づいて出力を調整するサブクラスの拡張ポイント。 |
protected int | getFilterCount(Chunk<I> inputs, Chunk<O> outputs) フィルターカウントを計算するためのサブクラスの拡張ポイント。 |
protected MulticasterBatchListener<I, O> | getListener() |
protected void | initializeUserData(Chunk<I> inputs) 後でアカウンティングの目的で必要になった場合に備えて、サブクラスが入力内容を記憶できるようにするサブクラスの拡張ポイント。 |
protected boolean | isComplete(Chunk<I> inputs) 入力に追加データを保存するサブクラスの拡張ポイント。 |
void | process(StepContribution contribution, Chunk<I> inputs) |
void | registerListener(StepListener listener) プロセスの適切な段階でコールバックのリスナーを登録します。 |
void | setItemProcessor(ItemProcessor<? super I,? extends O> itemProcessor) |
void | setItemWriter(ItemWriter<? super O> itemWriter) |
void | setListeners(java.util.List<? extends StepListener> listeners) いくつかの StepListener をハンドラーに登録します。 |
protected void | stopTimer(io.micrometer.core.instrument.Timer.Sample sample, StepExecution stepExecution, java.lang.String metricName, java.lang.String status, java.lang.String description) |
protected Chunk<O> | transform(StepContribution contribution, Chunk<I> inputs) |
protected void | write(StepContribution contribution, Chunk<I> inputs, Chunk<O> outputs) 単純な実装は doWrite(List) メソッドに委譲し、コントリビューションの書き込みカウントをインクリメントします。 |
protected void | writeItems(java.util.List<O> items) |
public SimpleChunkProcessor(@Nullable ItemProcessor<? super I,? extends O> itemProcessor, ItemWriter<? super O> itemWriter)
public SimpleChunkProcessor(ItemWriter<? super O> itemWriter)
public void setItemProcessor(ItemProcessor<? super I,? extends O> itemProcessor)
itemProcessor
- 設定する ItemProcessor
public void setItemWriter(ItemWriter<? super O> itemWriter)
itemWriter
- 設定する ItemWriter
public void afterPropertiesSet() throws java.lang.Exception
org.springframework.beans.factory.InitializingBean
の afterPropertiesSet
java.lang.Exception
InitializingBean.afterPropertiesSet()
public void setListeners(java.util.List<? extends StepListener> listeners)
StepListener
をハンドラーに登録します。それぞれが正しい段階で指定された順序でコールバックを取得します。listeners
- StepListener
インスタンスのリスト。public void registerListener(StepListener listener)
listener
- StepListener
protected MulticasterBatchListener<I,O> getListener()
protected final O doProcess(I item) throws java.lang.Exception
item
- 入力項目 java.lang.Exception
- エラーが発生した場合にスローされます。protected final void doWrite(java.util.List<O> items) throws java.lang.Exception
items
- 書き込まれるアイテムのリスト。java.lang.Exception
- エラーが発生した場合にスローされます。protected final void doAfterWrite(java.util.List<O> items)
items
- 書き込まれたばかりのアイテムのリスト。protected final void doOnWriteError(java.lang.Exception e, java.util.List<O> items)
e
- 発生した例外。items
- 書き込みに失敗したアイテムのリスト。protected void writeItems(java.util.List<O> items) throws java.lang.Exception
items
- 書き込まれるアイテムのリスト。java.lang.Exception
- エラーが発生した場合にスローされます。public final void process(StepContribution contribution, Chunk<I> inputs) throws java.lang.Exception
ChunkProcessor<I>
の process
java.lang.Exception
protected void initializeUserData(Chunk<I> inputs)
isComplete(Chunk)
、getFilterCount(Chunk, Chunk)
、getAdjustedOutputs(Chunk, Chunk)
の一部またはすべても必要になる場合があります。inputs
- プロセスへの入力 protected int getFilterCount(Chunk<I> inputs, Chunk<O> outputs)
inputs
- 変換後の入力 outputs
- 変換後の出力 initializeUserData(Chunk)
protected boolean isComplete(Chunk<I> inputs)
inputs
- 入力チャンク initializeUserData(Chunk)
protected Chunk<O> getAdjustedOutputs(Chunk<I> inputs, Chunk<O> outputs)
inputs
- 変換の入力 outputs
- 変換の結果 initializeUserData(Chunk)
protected void write(StepContribution contribution, Chunk<I> inputs, Chunk<O> outputs) throws java.lang.Exception
doWrite(List)
メソッドに委譲し、コントリビューションの書き込みカウントをインクリメントします。サブクラスは、フォールトトレランスなど、より複雑なシナリオを処理できます。出力項目がスキップされた場合は、入力からも削除する必要があります。contribution
- 現在のステップの貢献 inputs
- 出力を生じさせた入力 outputs
- 書き込む出力 java.lang.Exception
- 問題がある場合 protected Chunk<O> transform(StepContribution contribution, Chunk<I> inputs) throws java.lang.Exception
java.lang.Exception
protected void stopTimer(io.micrometer.core.instrument.Timer.Sample sample, StepExecution stepExecution, java.lang.String metricName, java.lang.String status, java.lang.String description)