Class ExecutionContextPromotionListener
- java.lang.Object
- org.springframework.batch.core.listener.StepExecutionListenerSupport
- org.springframework.batch.core.listener.ExecutionContextPromotionListener
- All Implemented Interfaces:
StepExecutionListener
,StepListener
,org.springframework.beans.factory.InitializingBean
public class ExecutionContextPromotionListener extends StepExecutionListenerSupport implements org.springframework.beans.factory.InitializingBean
This class can be used to automatically promote items from theStep
ExecutionContext
to theJob
ExecutionContext
at the end of a step. A list of keys should be provided that correspond to the items in theStep
ExecutionContext
that should be promoted. Additionally, an optional list of statuses can be set to indicate for which exit status codes the promotion should occur. These statuses will be checked using thePatternMatcher
, so wildcards are allowed. By default, promotion will only occur for steps with an exit code of "COMPLETED".- Since:
- 2.0
- Author:
- Dan Garrette
Constructor Summary
Constructors Constructor Description ExecutionContextPromotionListener()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
afterPropertiesSet()
ExitStatus
afterStep(StepExecution stepExecution)
Give a listener a chance to modify the exit status from a step.void
setKeys(java.lang.String[] keys)
void
setStatuses(java.lang.String[] statuses)
void
setStrict(boolean strict)
If set to TRUE, the listener will throw an exception if any 'key' is not found in the StepExecutionContext
.Methods inherited from class org.springframework.batch.core.listener.StepExecutionListenerSupport
beforeStep
Method Detail
afterStep
public ExitStatus afterStep(StepExecution stepExecution)
Description copied from interface:StepExecutionListener
Give a listener a chance to modify the exit status from a step. The value returned will be combined with the normal exit status usingExitStatus.and(ExitStatus)
. Called after execution of step's processing logic (both successful or failed). Throwing exception in this method has no effect, it will only be logged.- Specified by:
afterStep
in interfaceStepExecutionListener
- Overrides:
afterStep
in classStepExecutionListenerSupport
- Parameters:
stepExecution
-StepExecution
instance.- Returns:
- an
ExitStatus
to combine with the normal value. Returnnull
to leave the old value unchanged.
afterPropertiesSet
public void afterPropertiesSet() throws java.lang.Exception
- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
- Throws:
java.lang.Exception
setKeys
public void setKeys(java.lang.String[] keys)
- Parameters:
keys
- A list of keys corresponding to items in theStep
ExecutionContext
that must be promoted.
setStatuses
public void setStatuses(java.lang.String[] statuses)
- Parameters:
statuses
- A list of statuses for which the promotion should occur. Statuses can may contain wildcards recognizable by aPatternMatcher
.
setStrict
public void setStrict(boolean strict)
If set to TRUE, the listener will throw an exception if any 'key' is not found in the StepExecutionContext
. FALSE by default.- Parameters:
strict
- boolean the value of the flag.