public class FaultTolerantStepBuilder<I,O> extends SimpleStepBuilder<I,O>
SimpleStepBuilder
with
additional properties for retry and skip of failed items.StepBuilderHelper.CommonStepProperties
chunkListeners
logger, properties
Modifier | Constructor and Description |
---|---|
protected |
FaultTolerantStepBuilder(SimpleStepBuilder<I,O> parent)
Create a new builder initialized with any properties in the parent.
|
|
FaultTolerantStepBuilder(StepBuilderHelper<?> parent)
Create a new builder initialized with any properties in the parent.
|
Modifier and Type | Method and Description |
---|---|
FaultTolerantStepBuilder<I,O> |
backOffPolicy(org.springframework.retry.backoff.BackOffPolicy backOffPolicy)
Provide a backoff policy to prevent items being retried immediately (e.g.
|
TaskletStep |
build()
Build a step with the reader, writer, processor as provided.
|
protected ChunkProcessor<I> |
createChunkProcessor() |
protected ChunkProvider<I> |
createChunkProvider() |
protected BatchRetryTemplate |
createRetryOperations() |
protected SkipPolicy |
createSkipPolicy() |
protected Tasklet |
createTasklet()
Create a new chunk oriented tasklet with reader, writer and processor as provided.
|
protected void |
detectStreamInReader() |
FaultTolerantStepBuilder<I,O> |
faultTolerant()
Override parent method to prevent creation of a new FaultTolerantStepBuilder
|
protected ChunkMonitor |
getChunkMonitor() |
protected SkipPolicy |
getFatalExceptionAwareProxy(SkipPolicy skipPolicy)
Wrap a
SkipPolicy and make it consistent with known fatal exceptions. |
protected java.util.Set<RetryListener> |
getJsrRetryListeners() |
protected org.springframework.classify.Classifier<java.lang.Throwable,java.lang.Boolean> |
getRollbackClassifier()
Convenience method to get an exception classifier based on the provided transaction attributes.
|
protected java.util.Set<SkipListener<? super I,? super O>> |
getSkipListeners() |
FaultTolerantStepBuilder<I,O> |
keyGenerator(KeyGenerator keyGenerator)
Sets the key generator for identifying retried items.
|
FaultTolerantStepBuilder<I,O> |
listener(ChunkListener listener)
Register a chunk listener.
|
FaultTolerantStepBuilder<I,O> |
listener(java.lang.Object listener)
Registers objects using the annotation based listener configuration.
|
FaultTolerantStepBuilder<I,O> |
listener(RetryListener listener) |
FaultTolerantStepBuilder<I,O> |
listener(org.springframework.retry.RetryListener listener)
Register a retry listener.
|
FaultTolerantStepBuilder<I,O> |
listener(SkipListener<? super I,? super O> listener)
Register a skip listener.
|
FaultTolerantStepBuilder<I,O> |
noRetry(java.lang.Class<? extends java.lang.Throwable> type)
Explicitly ask for an exception (and subclasses) to be excluded from retry.
|
FaultTolerantStepBuilder<I,O> |
noRollback(java.lang.Class<? extends java.lang.Throwable> type)
Mark this exception as ignorable during item read or processing operations.
|
FaultTolerantStepBuilder<I,O> |
noSkip(java.lang.Class<? extends java.lang.Throwable> type)
Explicitly prevent certain exceptions (and subclasses) from being skipped.
|
FaultTolerantStepBuilder<I,O> |
processorNonTransactional()
Mark the item processor as non-transactional (default is the opposite).
|
protected void |
registerStepListenerAsSkipListener() |
FaultTolerantStepBuilder<I,O> |
retry(java.lang.Class<? extends java.lang.Throwable> type)
Explicitly ask for an exception (and subclasses) to be retried.
|
FaultTolerantStepBuilder<I,O> |
retryContextCache(org.springframework.retry.policy.RetryContextCache retryContextCache)
Provide an explicit retry context cache.
|
FaultTolerantStepBuilder<I,O> |
retryLimit(int retryLimit)
The maximum number of times to try a failed item.
|
FaultTolerantStepBuilder<I,O> |
retryPolicy(org.springframework.retry.RetryPolicy retryPolicy)
Provide an explicit retry policy instead of using the
retryLimit(int) and retryable exceptions provided
elsewhere. |
FaultTolerantStepBuilder<I,O> |
skip(java.lang.Class<? extends java.lang.Throwable> type)
Explicitly request certain exceptions (and subclasses) to be skipped.
|
FaultTolerantStepBuilder<I,O> |
skipLimit(int skipLimit)
Sets the maximum number of failed items to skip before the step fails.
|
FaultTolerantStepBuilder<I,O> |
skipPolicy(SkipPolicy skipPolicy)
Provide an explicit policy for managing skips.
|
AbstractTaskletStepBuilder<SimpleStepBuilder<I,O>> |
stream(ItemStream stream)
Register a stream for callbacks that manage restart data.
|
AbstractTaskletStepBuilder<SimpleStepBuilder<I,O>> |
transactionAttribute(org.springframework.transaction.interceptor.TransactionAttribute transactionAttribute)
Sets the transaction attributes for the tasklet execution.
|
chunk, chunk, chunkOperations, createChunkOperations, getChunkCompletionPolicy, getChunkSize, getItemListeners, getProcessor, getReader, getWriter, isReaderTransactionalQueue, listener, listener, listener, processor, processor, reader, readerIsTransactionalQueue, registerAsStreamsAndListeners, registerStepListenerAsItemListener, writer
concurrent, exceptionHandler, getExceptionHandler, getStepOperations, getStreams, getTaskExecutor, getThrottleLimit, getTransactionAttribute, registerStepListenerAsChunkListener, stepOperations, taskExecutor, throttleLimit
allowStartIfComplete, enhance, getJobRepository, getName, getTransactionManager, isAllowStartIfComplete, listener, repository, startLimit, transactionManager
public FaultTolerantStepBuilder(StepBuilderHelper<?> parent)
parent
- a parent helper containing common step propertiesprotected FaultTolerantStepBuilder(SimpleStepBuilder<I,O> parent)
parent
- a parent helper containing common step propertiespublic TaskletStep build()
SimpleStepBuilder
build
in class SimpleStepBuilder<I,O>
AbstractTaskletStepBuilder.build()
protected void registerStepListenerAsSkipListener()
protected Tasklet createTasklet()
createTasklet
in class SimpleStepBuilder<I,O>
SimpleStepBuilder.createTasklet()
public FaultTolerantStepBuilder<I,O> listener(java.lang.Object listener)
listener
in class SimpleStepBuilder<I,O>
listener
- the object that has a method configured with listener annotationpublic FaultTolerantStepBuilder<I,O> listener(SkipListener<? super I,? super O> listener)
listener
- the listener to registerpublic FaultTolerantStepBuilder<I,O> listener(RetryListener listener)
public FaultTolerantStepBuilder<I,O> listener(ChunkListener listener)
AbstractTaskletStepBuilder
listener
in class AbstractTaskletStepBuilder<SimpleStepBuilder<I,O>>
listener
- the listener to registerpublic AbstractTaskletStepBuilder<SimpleStepBuilder<I,O>> transactionAttribute(org.springframework.transaction.interceptor.TransactionAttribute transactionAttribute)
AbstractTaskletStepBuilder
transactionAttribute
in class AbstractTaskletStepBuilder<SimpleStepBuilder<I,O>>
transactionAttribute
- a transaction attribute setpublic FaultTolerantStepBuilder<I,O> listener(org.springframework.retry.RetryListener listener)
listener
- the listener to registerpublic FaultTolerantStepBuilder<I,O> keyGenerator(KeyGenerator keyGenerator)
keyGenerator
- a key generator for the stateful retrypublic FaultTolerantStepBuilder<I,O> retryLimit(int retryLimit)
retryPolicy
is set.retryLimit
- the retry limit (default 0)public FaultTolerantStepBuilder<I,O> retryPolicy(org.springframework.retry.RetryPolicy retryPolicy)
retryLimit(int)
and retryable exceptions provided
elsewhere. Can be used to retry different exceptions a different number of times, for instance.retryPolicy
- a retry policypublic FaultTolerantStepBuilder<I,O> backOffPolicy(org.springframework.retry.backoff.BackOffPolicy backOffPolicy)
retryPolicy
is
set.backOffPolicy
- the back off policy to use (default no backoff)public FaultTolerantStepBuilder<I,O> retryContextCache(org.springframework.retry.policy.RetryContextCache retryContextCache)
retryContextCache
- cache for retry contexts in between transactions (default to standard in-memory
implementation)public FaultTolerantStepBuilder<I,O> skipLimit(int skipLimit)
skipPolicy(SkipPolicy)
is provided.skipLimit
- the skip limit to setpublic FaultTolerantStepBuilder<I,O> noSkip(java.lang.Class<? extends java.lang.Throwable> type)
type
- the non-skippable exceptionpublic FaultTolerantStepBuilder<I,O> skip(java.lang.Class<? extends java.lang.Throwable> type)
type
- the exception type.public FaultTolerantStepBuilder<I,O> skipPolicy(SkipPolicy skipPolicy)
skipPolicy
- the skip policypublic FaultTolerantStepBuilder<I,O> noRollback(java.lang.Class<? extends java.lang.Throwable> type)
type
- the exception to mark as no rollbackpublic FaultTolerantStepBuilder<I,O> noRetry(java.lang.Class<? extends java.lang.Throwable> type)
type
- the exception to exclude from retrypublic FaultTolerantStepBuilder<I,O> retry(java.lang.Class<? extends java.lang.Throwable> type)
type
- the exception to retrypublic FaultTolerantStepBuilder<I,O> processorNonTransactional()
public AbstractTaskletStepBuilder<SimpleStepBuilder<I,O>> stream(ItemStream stream)
AbstractTaskletStepBuilder
stream
in class AbstractTaskletStepBuilder<SimpleStepBuilder<I,O>>
stream
- the stream to registerpublic FaultTolerantStepBuilder<I,O> faultTolerant()
faultTolerant
in class SimpleStepBuilder<I,O>
protected ChunkProvider<I> createChunkProvider()
protected ChunkProcessor<I> createChunkProcessor()
protected void detectStreamInReader()
protected org.springframework.classify.Classifier<java.lang.Throwable,java.lang.Boolean> getRollbackClassifier()
protected SkipPolicy createSkipPolicy()
protected BatchRetryTemplate createRetryOperations()
protected ChunkMonitor getChunkMonitor()
protected java.util.Set<SkipListener<? super I,? super O>> getSkipListeners()
protected java.util.Set<RetryListener> getJsrRetryListeners()
protected SkipPolicy getFatalExceptionAwareProxy(SkipPolicy skipPolicy)
SkipPolicy
and make it consistent with known fatal exceptions.skipPolicy
- an existing skip policy