Class SimpleCompletionPolicy
java.lang.Object
org.springframework.batch.repeat.policy.CompletionPolicySupport
org.springframework.batch.repeat.policy.DefaultResultCompletionPolicy
org.springframework.batch.repeat.policy.SimpleCompletionPolicy
- All Implemented Interfaces:
CompletionPolicy
Policy for terminating a batch after a fixed number of operations. Internal state is
maintained and a counter incremented, so successful use of this policy requires that
isComplete() is only called once per batch item. Using the standard
RepeatTemplate
should ensure this contract is kept, but it needs to be
carefully monitored.- Author:
- Dave Syer
-
Nested Class Summary
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
boolean
isComplete
(RepeatContext context) Terminate if the chunk size has been reached.boolean
isComplete
(RepeatContext context, RepeatStatus result) Terminate if the chunk size has been reached, or the result is null.void
setChunkSize
(int chunkSize) start
(RepeatContext context) Reset the counter.toString()
void
update
(RepeatContext context) Increment the counter in the context.
-
Field Details
-
DEFAULT_CHUNK_SIZE
public static final int DEFAULT_CHUNK_SIZE- See Also:
-
-
Constructor Details
-
SimpleCompletionPolicy
public SimpleCompletionPolicy() -
SimpleCompletionPolicy
public SimpleCompletionPolicy(int chunkSize)
-
-
Method Details
-
setChunkSize
public void setChunkSize(int chunkSize) -
getChunkSize
public int getChunkSize() -
start
Reset the counter.- Specified by:
start
in interfaceCompletionPolicy
- Overrides:
start
in classCompletionPolicySupport
- Parameters:
context
- the current context if one is already in progress.- Returns:
- a context object that can be used by the implementation to store internal state for a batch.
- See Also:
-
isComplete
Terminate if the chunk size has been reached, or the result is null.- Specified by:
isComplete
in interfaceCompletionPolicy
- Overrides:
isComplete
in classDefaultResultCompletionPolicy
- Parameters:
context
- the current batch context.result
- the result of the latest batch item processing.- Returns:
- true if the batch should terminate.
- Throws:
RuntimeException
- (normally terminating the batch) if the result is itself an exception.- See Also:
-
isComplete
Terminate if the chunk size has been reached.- Specified by:
isComplete
in interfaceCompletionPolicy
- Overrides:
isComplete
in classDefaultResultCompletionPolicy
- Parameters:
context
- the current batch context.- Returns:
- true if the batch should terminate.
- See Also:
-
update
Increment the counter in the context.- Specified by:
update
in interfaceCompletionPolicy
- Overrides:
update
in classCompletionPolicySupport
- Parameters:
context
- the value returned by start.- See Also:
-
toString
-