org.springframework.batch.core.scope.context
Class StepContextRepeatCallback
java.lang.Object
org.springframework.batch.core.scope.context.StepContextRepeatCallback
- All Implemented Interfaces:
- RepeatCallback
public abstract class StepContextRepeatCallback
- extends Object
- implements RepeatCallback
Convenient base class for clients who need to do something in a repeat
callback inside a Step
.
- Author:
- Dave Syer
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
StepContextRepeatCallback
public StepContextRepeatCallback(StepExecution stepExecution)
- Parameters:
stepExecution
-
doInIteration
public RepeatStatus doInIteration(RepeatContext context)
throws Exception
- Manage the
StepContext
lifecycle. Business processing should be
delegated to doInChunkContext(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 de-registration of the step context, so clients should not duplicate
those calls.
- Specified by:
doInIteration
in interface RepeatCallback
- 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:
RepeatCallback.doInIteration(RepeatContext)
doInChunkContext
public abstract RepeatStatus doInChunkContext(RepeatContext context,
ChunkContext chunkContext)
throws Exception
- Do the work required for this chunk of the step. The
ChunkContext
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 of ChunkContext
. 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 current RepeatContext
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
Copyright © 2013 SpringSource. All Rights Reserved.