Class ExceptionClassifierSkipPolicy
- java.lang.Object
- org.springframework.batch.core.step.skip.ExceptionClassifierSkipPolicy
- All Implemented Interfaces:
SkipPolicy
public class ExceptionClassifierSkipPolicy extends java.lang.Object implements SkipPolicy
ASkipPolicy
that depends on an exception classifier to make its decision, and then delegates to the classifier result.- Author:
- Dave Syer
- See Also:
SubclassClassifier
Constructor Summary
Constructors Constructor Description ExceptionClassifierSkipPolicy()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
setExceptionClassifier(org.springframework.classify.SubclassClassifier<java.lang.Throwable,SkipPolicy> classifier)
The classifier that will be used to choose a delegate policy.void
setPolicyMap(java.util.Map<java.lang.Class<? extends java.lang.Throwable>,SkipPolicy> policyMap)
Setter for policy map.boolean
shouldSkip(java.lang.Throwable t, int skipCount)
Consult the classifier and find a delegate policy, and then use that to determine the outcome.
Method Detail
setExceptionClassifier
public void setExceptionClassifier(org.springframework.classify.SubclassClassifier<java.lang.Throwable,SkipPolicy> classifier)
The classifier that will be used to choose a delegate policy.- Parameters:
classifier
- the classifier to use to choose a delegate policy
setPolicyMap
public void setPolicyMap(java.util.Map<java.lang.Class<? extends java.lang.Throwable>,SkipPolicy> policyMap)
Setter for policy map. This property should not be changed dynamically - set it once, e.g. in configuration, and then don't change it during a running application. Either this property or the exception classifier directly should be set, but not both.- Parameters:
policyMap
- a map of String toSkipPolicy
that will be used to create aClassifier
to locate a policy.
shouldSkip
public boolean shouldSkip(java.lang.Throwable t, int skipCount) throws SkipLimitExceededException
Consult the classifier and find a delegate policy, and then use that to determine the outcome.- Specified by:
shouldSkip
in interfaceSkipPolicy
- Parameters:
t
- the throwable to considerskipCount
- the current skip count- Returns:
- true if the exception can be skipped
- Throws:
SkipLimitExceededException
- if a limit is exceeded