Class StepContextRepeatCallback
java.lang.Object
org.springframework.batch.core.scope.context.StepContextRepeatCallback
- All Implemented Interfaces:
RepeatCallback
Convenient base class for clients who need to do something in a repeat callback inside
a
Step
.- Author:
- Dave Syer, Mahmoud Ben Hassine
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract RepeatStatus
doInChunkContext
(RepeatContext context, ChunkContext chunkContext) Do the work required for this chunk of the step.doInIteration
(RepeatContext context) Manage theStepContext
lifecycle.
-
Constructor Details
-
StepContextRepeatCallback
- Parameters:
stepExecution
- instance ofStepExecution
to be used by StepContextRepeatCallback.
-
-
Method Details
-
doInIteration
Manage theStepContext
lifecycle. Business processing should be delegated todoInChunkContext(RepeatContext, ChunkContext)
. This is to ensure that the current thread has a reference to the context, even if the callback is executed in a pooled thread. Handles the registration and unregistration of the step context, so clients should not duplicate those calls.- Specified by:
doInIteration
in interfaceRepeatCallback
- Parameters:
context
- the current context passed in by the caller.- Returns:
- an
RepeatStatus
which is continuable if there is (or may be) more data to process. - Throws:
Exception
- if there is a problem with the processing.- See Also:
-
doInChunkContext
public abstract RepeatStatus doInChunkContext(RepeatContext context, ChunkContext chunkContext) throws Exception Do the work required for this chunk of the step. TheChunkContext
provided is managed by the base class, so that if there is still work to do for the task in hand state can be stored here. In a multi-threaded client, the base class ensures that only one thread at a time can be working on each instance ofChunkContext
. Workers should signal that they are finished with a context by removing all the attributes they have added. If a worker does not remove them another thread might see stale state.- Parameters:
context
- the currentRepeatContext
chunkContext
- the chunk context in which to carry out the work- Returns:
- the repeat status from the execution
- Throws:
Exception
- implementations can throw an exception if anything goes wrong
-