|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.batch.core.step.item.SimpleStepFactoryBean<T,S> org.springframework.batch.core.step.item.FaultTolerantStepFactoryBean<T,S>
public class FaultTolerantStepFactoryBean<T,S>
Factory bean for step that provides options for configuring skip behaviour.
User can set setSkipLimit(int)
to set how many exceptions of
#setSkippableExceptionClasses(Collection)
types are tolerated.
#setFatalExceptionClasses(Collection)
will cause immediate
termination of job - they are treated as higher priority than
#setSkippableExceptionClasses(Collection)
, so the two lists don't
need to be exclusive.
Skippable exceptions on write will by default cause transaction rollback - to
avoid rollback for specific exception class include it in the transaction
attribute as "no rollback for".
SimpleStepFactoryBean
Field Summary |
---|
Fields inherited from class org.springframework.batch.core.step.item.SimpleStepFactoryBean |
---|
logger |
Constructor Summary | |
---|---|
FaultTolerantStepFactoryBean()
|
Method Summary | |
---|---|
protected void |
applyConfiguration(TaskletStep step)
|
protected SimpleChunkProcessor<T,S> |
configureChunkProcessor()
Extension point for creating appropriate ChunkProcessor . |
protected SimpleChunkProvider<T> |
configureChunkProvider()
Extension point for creating appropriate ChunkProvider . |
protected SkipPolicy |
createSkipPolicy()
|
protected Classifier<Throwable,Boolean> |
getRollbackClassifier()
Convenience method for subclasses to get an exception classifier based on the provided transaction attributes. |
protected TransactionAttribute |
getTransactionAttribute()
Getter for the TransactionAttribute for subclasses only. |
protected void |
registerChunkListeners(TaskletStep step,
StepListener listener)
|
protected void |
registerStreams(TaskletStep step,
ItemStream[] streams)
Register the streams with the step. |
void |
setBackOffPolicy(BackOffPolicy backOffPolicy)
Public setter for the BackOffPolicy . |
void |
setCacheCapacity(int cacheCapacity)
Public setter for the capacity of the cache in the retry policy. |
void |
setKeyGenerator(KeyGenerator keyGenerator)
The KeyGenerator to use to identify failed items across rollback. |
void |
setNoRollbackExceptionClasses(Collection<Class<? extends Throwable>> noRollbackExceptionClasses)
Exception classes that are candidates for no rollback. |
void |
setProcessorTransactional(boolean processorTransactional)
|
void |
setRetryableExceptionClasses(Map<Class<? extends Throwable>,Boolean> retryableExceptionClasses)
Public setter for the retryable exceptions classifier map (from throwable class to boolean, true is retryable). |
void |
setRetryContextCache(RetryContextCache retryContextCache)
Override the default retry context cache for retry of chunk processing. |
void |
setRetryLimit(int retryLimit)
Public setter for the retry limit. |
void |
setRetryListeners(RetryListener... retryListeners)
Public setter for the RetryListener s. |
void |
setRetryPolicy(RetryPolicy retryPolicy)
Setter for the retry policy. |
void |
setSkipLimit(int skipLimit)
A limit that determines skip policy. |
void |
setSkippableExceptionClasses(Map<Class<? extends Throwable>,Boolean> exceptionClasses)
Exception classes that when raised won't crash the job but will result in the item which handling caused the exception being skipped. |
void |
setSkipPolicy(SkipPolicy skipPolicy)
A SkipPolicy that determines the outcome of an exception when
processing an item. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public FaultTolerantStepFactoryBean()
Method Detail |
---|
public void setKeyGenerator(KeyGenerator keyGenerator)
KeyGenerator
to use to identify failed items across rollback.
Not used in the case of the
transactional queue flag
being false (the default).
keyGenerator
- the KeyGenerator
to setpublic void setRetryPolicy(RetryPolicy retryPolicy)
retryPolicy
- a stateless RetryPolicy
public void setRetryLimit(int retryLimit)
retryLimit == 1
by default.
retryLimit
- the retry limit to set, must be greater or equal to 1.public void setCacheCapacity(int cacheCapacity)
MapRetryContextCache
.setRetryContextCache(RetryContextCache)
is set directly.
cacheCapacity
- the cache capacity to set (greater than 0 else ignored)public void setRetryContextCache(RetryContextCache retryContextCache)
setCacheCapacity(int)
is ignored.
retryContextCache
- the RetryContextCache
to setpublic void setRetryableExceptionClasses(Map<Class<? extends Throwable>,Boolean> retryableExceptionClasses)
retryableExceptionClasses
- the retryableExceptionClasses to setpublic void setBackOffPolicy(BackOffPolicy backOffPolicy)
BackOffPolicy
.
backOffPolicy
- the BackOffPolicy
to setpublic void setRetryListeners(RetryListener... retryListeners)
RetryListener
s.
retryListeners
- the RetryListener
s to setpublic void setSkipLimit(int skipLimit)
skipLimit
- the value to set. Default is 0 (never skip).public void setSkipPolicy(SkipPolicy skipPolicy)
SkipPolicy
that determines the outcome of an exception when
processing an item. Overrides the skipLimit
.
The skippableExceptionClasses
are also ignored if this is set.
skipPolicy
- the SkipPolicy
to setpublic void setSkippableExceptionClasses(Map<Class<? extends Throwable>,Boolean> exceptionClasses)
skip limit
as well.
Defaults to all no exception.
exceptionClasses
- defaults to Exception
public void setNoRollbackExceptionClasses(Collection<Class<? extends Throwable>> noRollbackExceptionClasses)
Step
can not honour the no rollback hint in all circumstances, but any
exception on this list is counted as skippable, so even if there has to
be a rollback, then the step will not fail as long as the skip limit is
not breached.
Defaults is empty.
noRollbackExceptionClasses
- the exception classes to setpublic void setProcessorTransactional(boolean processorTransactional)
processorTransactional
- protected Classifier<Throwable,Boolean> getRollbackClassifier()
protected TransactionAttribute getTransactionAttribute()
TransactionAttribute
for subclasses only.
getTransactionAttribute
in class SimpleStepFactoryBean<T,S>
protected void applyConfiguration(TaskletStep step)
applyConfiguration
in class SimpleStepFactoryBean<T,S>
protected void registerStreams(TaskletStep step, ItemStream[] streams)
registerStreams
in class SimpleStepFactoryBean<T,S>
step
- the TaskletStep
streams
- the streams to registerprotected SimpleChunkProvider<T> configureChunkProvider()
SimpleStepFactoryBean
ChunkProvider
. Return
value must subclass SimpleChunkProvider
due to listener
registration.
configureChunkProvider
in class SimpleStepFactoryBean<T,S>
ChunkProvider
configured for fault-tolerance.protected SkipPolicy createSkipPolicy()
protected SimpleChunkProcessor<T,S> configureChunkProcessor()
SimpleStepFactoryBean
ChunkProcessor
. Return
value must subclass SimpleChunkProcessor
due to listener
registration.
configureChunkProcessor
in class SimpleStepFactoryBean<T,S>
ChunkProcessor
configured for fault-tolerance.protected void registerChunkListeners(TaskletStep step, StepListener listener)
registerChunkListeners
in class SimpleStepFactoryBean<T,S>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |