类 SimpleChunkProcessor<I,O>
- java.lang.Object
- org.springframework.batch.core.step.item.SimpleChunkProcessor<I,O>
- 所有已实现的接口:
ChunkProcessor<I>
,org.springframework.beans.factory.InitializingBean
- 直接已知子类:
FaultTolerantChunkProcessor
public class SimpleChunkProcessor<I,O> extends java.lang.Object implements ChunkProcessor<I>, org.springframework.beans.factory.InitializingBean
Simple implementation of theChunkProcessor
interface that handles basic item writing and processing. Any exceptions encountered will be rethrown.- 另请参阅:
ChunkOrientedTasklet
构造器概要
构造器 构造器 说明 SimpleChunkProcessor(ItemProcessor<? super I,? extends O> itemProcessor, ItemWriter<? super O> itemWriter)
SimpleChunkProcessor(ItemWriter<? super O> itemWriter)
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 void
afterPropertiesSet()
Check mandatory properties.protected void
doAfterWrite(java.util.List<O> items)
Call the listener's after write method.protected void
doOnWriteError(java.lang.Exception e, java.util.List<O> items)
Call listener's writerError method.protected O
doProcess(I item)
protected void
doWrite(java.util.List<O> items)
Surrounds the actual write call with listener callbacks.protected Chunk<O>
getAdjustedOutputs(Chunk<I> inputs, Chunk<O> outputs)
Extension point for subclasses that want to adjust the outputs based on additional saved data in the inputs.protected int
getFilterCount(Chunk<I> inputs, Chunk<O> outputs)
Extension point for subclasses to calculate the filter count.protected MulticasterBatchListener<I,O>
getListener()
protected void
initializeUserData(Chunk<I> inputs)
Extension point for subclasses to allow them to memorise the contents of the inputs, in case they are needed for accounting purposes later.protected boolean
isComplete(Chunk<I> inputs)
Extension point for subclasses that want to store additional data in the inputs.void
process(StepContribution contribution, Chunk<I> inputs)
void
registerListener(StepListener listener)
Register a listener for callbacks at the appropriate stages in a process.void
setItemProcessor(ItemProcessor<? super I,? extends O> itemProcessor)
void
setItemWriter(ItemWriter<? super O> itemWriter)
void
setListeners(java.util.List<? extends StepListener> listeners)
Register someStepListener
s with the handler.protected Chunk<O>
transform(StepContribution contribution, Chunk<I> inputs)
protected void
write(StepContribution contribution, Chunk<I> inputs, Chunk<O> outputs)
Simple implementation delegates to thedoWrite(List)
method and increments the write count in the contribution.protected void
writeItems(java.util.List<O> items)
构造器详细资料
SimpleChunkProcessor
public SimpleChunkProcessor(@Nullable ItemProcessor<? super I,? extends O> itemProcessor, ItemWriter<? super O> itemWriter)
SimpleChunkProcessor
public SimpleChunkProcessor(ItemWriter<? super O> itemWriter)
方法详细资料
setItemProcessor
public void setItemProcessor(ItemProcessor<? super I,? extends O> itemProcessor)
- 参数:
itemProcessor
- theItemProcessor
to set
setItemWriter
public void setItemWriter(ItemWriter<? super O> itemWriter)
- 参数:
itemWriter
- theItemWriter
to set
afterPropertiesSet
public void afterPropertiesSet() throws java.lang.Exception
Check mandatory properties.- 指定者:
afterPropertiesSet
在接口中org.springframework.beans.factory.InitializingBean
- 抛出:
java.lang.Exception
- 另请参阅:
InitializingBean.afterPropertiesSet()
setListeners
public void setListeners(java.util.List<? extends StepListener> listeners)
Register someStepListener
s with the handler. Each will get the callbacks in the order specified at the correct stage.- 参数:
listeners
- list ofStepListener
instances.
registerListener
public void registerListener(StepListener listener)
Register a listener for callbacks at the appropriate stages in a process.- 参数:
listener
- aStepListener
getListener
protected MulticasterBatchListener<I,O> getListener()
- 返回:
- the listener
doProcess
protected final O doProcess(I item) throws java.lang.Exception
- 参数:
item
- the input item- 返回:
- the result of the processing
- 抛出:
java.lang.Exception
- thrown if error occurs.
doWrite
protected final void doWrite(java.util.List<O> items) throws java.lang.Exception
Surrounds the actual write call with listener callbacks.- 参数:
items
- list of items to be written.- 抛出:
java.lang.Exception
- thrown if error occurs.
doAfterWrite
protected final void doAfterWrite(java.util.List<O> items)
Call the listener's after write method.- 参数:
items
- list of items that were just written.
doOnWriteError
protected final void doOnWriteError(java.lang.Exception e, java.util.List<O> items)
Call listener's writerError method.- 参数:
e
- exception that occurred.items
- list of items that failed to be written.
writeItems
protected void writeItems(java.util.List<O> items) throws java.lang.Exception
- 参数:
items
- list of items to be written.- 抛出:
java.lang.Exception
- thrown if error occurs.
process
public final void process(StepContribution contribution, Chunk<I> inputs) throws java.lang.Exception
- 指定者:
process
在接口中ChunkProcessor<I>
- 抛出:
java.lang.Exception
initializeUserData
protected void initializeUserData(Chunk<I> inputs)
Extension point for subclasses to allow them to memorise the contents of the inputs, in case they are needed for accounting purposes later. The default implementation sets up some user data to remember the original size of the inputs. If this method is overridden then some or all ofisComplete(Chunk)
,getFilterCount(Chunk, Chunk)
andgetAdjustedOutputs(Chunk, Chunk)
might also need to be, to ensure that the user data is handled consistently.- 参数:
inputs
- the inputs for the process
getFilterCount
protected int getFilterCount(Chunk<I> inputs, Chunk<O> outputs)
Extension point for subclasses to calculate the filter count. Defaults to the difference between input size and output size.- 参数:
inputs
- the inputs after transformationoutputs
- the outputs after transformation- 返回:
- the difference in sizes
- 另请参阅:
initializeUserData(Chunk)
isComplete
protected boolean isComplete(Chunk<I> inputs)
Extension point for subclasses that want to store additional data in the inputs. Default just checks if inputs are empty.- 参数:
inputs
- the input chunk- 返回:
- true if it is empty
- 另请参阅:
initializeUserData(Chunk)
getAdjustedOutputs
protected Chunk<O> getAdjustedOutputs(Chunk<I> inputs, Chunk<O> outputs)
Extension point for subclasses that want to adjust the outputs based on additional saved data in the inputs. Default implementation just returns the outputs unchanged.- 参数:
inputs
- the inputs for the transformationoutputs
- the result of the transformation- 返回:
- the outputs unchanged
- 另请参阅:
initializeUserData(Chunk)
write
protected void write(StepContribution contribution, Chunk<I> inputs, Chunk<O> outputs) throws java.lang.Exception
Simple implementation delegates to thedoWrite(List)
method and increments the write count in the contribution. Subclasses can handle more complicated scenarios, e.g.with fault tolerance. If output items are skipped they should be removed from the inputs as well.- 参数:
contribution
- the current step contributioninputs
- the inputs that gave rise to the outputsoutputs
- the outputs to write- 抛出:
java.lang.Exception
- if there is a problem