I
- type of input itemsO
- type of output itemspublic class RemoteChunkingMasterStepBuilder<I,O> extends FaultTolerantStepBuilder<I,O>
ChunkMessageChannelItemWriter
on the master step.
If no messagingTemplate
is provided through
messagingTemplate(MessagingTemplate)
,
this builder will create one and set its default channel to the outputChannel
provided through outputChannel(MessageChannel)
.
If a messagingTemplate
is provided, it is assumed that it is fully configured
and that its default channel is set to an output channel on which requests to workers
will be sent.
StepBuilderHelper.CommonStepProperties
chunkListeners
logger, properties
Constructor and Description |
---|
RemoteChunkingMasterStepBuilder(java.lang.String stepName)
Create a new
RemoteChunkingMasterStepBuilder . |
Modifier and Type | Method and Description |
---|---|
RemoteChunkingMasterStepBuilder<I,O> |
allowStartIfComplete(boolean allowStartIfComplete) |
RemoteChunkingMasterStepBuilder<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 master
TaskletStep . |
RemoteChunkingMasterStepBuilder<I,O> |
chunk(CompletionPolicy completionPolicy)
Sets a completion policy for the chunk processing.
|
RemoteChunkingMasterStepBuilder<I,O> |
chunk(int chunkSize)
Sets the chunk size or commit interval for this step.
|
RemoteChunkingMasterStepBuilder<I,O> |
chunkOperations(RepeatOperations repeatTemplate)
Instead of a
chunk size or completion policy you can provide
a complete repeat operations instance that handles the iteration over the item reader. |
RemoteChunkingMasterStepBuilder<I,O> |
exceptionHandler(ExceptionHandler exceptionHandler)
Sets the exception handler to use in the case of tasklet failures.
|
RemoteChunkingMasterStepBuilder<I,O> |
inputChannel(org.springframework.messaging.PollableChannel inputChannel)
Set the input channel on which replies from workers will be received.
|
RemoteChunkingMasterStepBuilder<I,O> |
keyGenerator(KeyGenerator keyGenerator)
Sets the key generator for identifying retried items.
|
RemoteChunkingMasterStepBuilder<I,O> |
listener(ChunkListener listener)
Register a chunk listener.
|
RemoteChunkingMasterStepBuilder<I,O> |
listener(ItemReadListener<? super I> listener)
Register an item reader listener.
|
RemoteChunkingMasterStepBuilder<I,O> |
listener(ItemWriteListener<? super O> listener)
Register an item writer listener.
|
RemoteChunkingMasterStepBuilder<I,O> |
listener(java.lang.Object listener)
Registers objects using the annotation based listener configuration.
|
RemoteChunkingMasterStepBuilder<I,O> |
listener(org.springframework.retry.RetryListener listener)
Register a retry listener.
|
RemoteChunkingMasterStepBuilder<I,O> |
listener(SkipListener<? super I,? super O> listener)
Register a skip listener.
|
RemoteChunkingMasterStepBuilder<I,O> |
listener(StepExecutionListener listener) |
RemoteChunkingMasterStepBuilder<I,O> |
maxWaitTimeouts(int maxWaitTimeouts)
The maximum number of times to wait at the end of a step for a non-null result from the remote workers.
|
RemoteChunkingMasterStepBuilder<I,O> |
messagingTemplate(org.springframework.integration.core.MessagingTemplate messagingTemplate)
Set the
MessagingTemplate to use to send data to workers. |
RemoteChunkingMasterStepBuilder<I,O> |
noRetry(java.lang.Class<? extends java.lang.Throwable> type)
Explicitly ask for an exception (and subclasses) to be excluded from retry.
|
RemoteChunkingMasterStepBuilder<I,O> |
noRollback(java.lang.Class<? extends java.lang.Throwable> type)
Mark this exception as ignorable during item read or processing operations.
|
RemoteChunkingMasterStepBuilder<I,O> |
noSkip(java.lang.Class<? extends java.lang.Throwable> type)
Explicitly prevent certain exceptions (and subclasses) from being skipped.
|
RemoteChunkingMasterStepBuilder<I,O> |
outputChannel(org.springframework.messaging.MessageChannel outputChannel)
Set the output channel on which requests to workers will be sent.
|
RemoteChunkingMasterStepBuilder<I,O> |
processor(ItemProcessor<? super I,? extends O> itemProcessor)
An item processor that processes or transforms a stream of items.
|
RemoteChunkingMasterStepBuilder<I,O> |
reader(ItemReader<? extends I> reader)
An item reader that provides a stream of items.
|
RemoteChunkingMasterStepBuilder<I,O> |
readerIsTransactionalQueue()
Sets a flag to say that the reader is transactional (usually a queue), which is to say that failed items might be
rolled back and re-presented in a subsequent transaction.
|
RemoteChunkingMasterStepBuilder<I,O> |
repository(JobRepository jobRepository) |
RemoteChunkingMasterStepBuilder<I,O> |
retry(java.lang.Class<? extends java.lang.Throwable> type)
Explicitly ask for an exception (and subclasses) to be retried.
|
RemoteChunkingMasterStepBuilder<I,O> |
retryContextCache(org.springframework.retry.policy.RetryContextCache retryContextCache)
Provide an explicit retry context cache.
|
RemoteChunkingMasterStepBuilder<I,O> |
retryLimit(int retryLimit)
The maximum number of times to try a failed item.
|
RemoteChunkingMasterStepBuilder<I,O> |
retryPolicy(org.springframework.retry.RetryPolicy retryPolicy)
Provide an explicit retry policy instead of using the
FaultTolerantStepBuilder.retryLimit(int) and retryable exceptions provided
elsewhere. |
RemoteChunkingMasterStepBuilder<I,O> |
skip(java.lang.Class<? extends java.lang.Throwable> type)
Explicitly request certain exceptions (and subclasses) to be skipped.
|
RemoteChunkingMasterStepBuilder<I,O> |
skipLimit(int skipLimit)
Sets the maximum number of failed items to skip before the step fails.
|
RemoteChunkingMasterStepBuilder<I,O> |
skipPolicy(SkipPolicy skipPolicy)
Provide an explicit policy for managing skips.
|
RemoteChunkingMasterStepBuilder<I,O> |
startLimit(int startLimit) |
RemoteChunkingMasterStepBuilder<I,O> |
stepOperations(RepeatOperations repeatTemplate)
Sets the repeat template used for iterating the tasklet execution.
|
RemoteChunkingMasterStepBuilder<I,O> |
stream(ItemStream stream)
Register a stream for callbacks that manage restart data.
|
RemoteChunkingMasterStepBuilder<I,O> |
throttleLimit(long throttleLimit)
Public setter for the throttle limit.
|
RemoteChunkingMasterStepBuilder<I,O> |
transactionAttribute(org.springframework.transaction.interceptor.TransactionAttribute transactionAttribute)
Sets the transaction attributes for the tasklet execution.
|
RemoteChunkingMasterStepBuilder<I,O> |
transactionManager(org.springframework.transaction.PlatformTransactionManager transactionManager) |
RemoteChunkingMasterStepBuilder<I,O> |
writer(ItemWriter<? super O> writer)
This method will throw a
UnsupportedOperationException since
the item writer of the master step in a remote chunking setup will be
automatically set to an instance of ChunkMessageChannelItemWriter . |
createChunkProcessor, createChunkProvider, createRetryOperations, createSkipPolicy, createTasklet, detectStreamInReader, getChunkMonitor, getFatalExceptionAwareProxy, getJsrRetryListeners, getRollbackClassifier, getSkipListeners, listener, processorNonTransactional, registerStepListenerAsSkipListener
createChunkOperations, faultTolerant, getChunkCompletionPolicy, getChunkSize, getItemListeners, getProcessor, getReader, getWriter, isReaderTransactionalQueue, listener, processor, registerAsStreamsAndListeners, registerStepListenerAsItemListener
concurrent, getExceptionHandler, getStepOperations, getStreams, getTaskExecutor, getThrottleLimit, getTransactionAttribute, registerStepListenerAsChunkListener, taskExecutor, throttleLimit
enhance, getJobRepository, getName, getTransactionManager, isAllowStartIfComplete
public RemoteChunkingMasterStepBuilder(java.lang.String stepName)
RemoteChunkingMasterStepBuilder
.stepName
- name of the master steppublic RemoteChunkingMasterStepBuilder<I,O> inputChannel(org.springframework.messaging.PollableChannel inputChannel)
ChunkMessageChannelItemWriter
created by this builder.inputChannel
- the input channelChunkMessageChannelItemWriter.setReplyChannel(org.springframework.messaging.PollableChannel)
public RemoteChunkingMasterStepBuilder<I,O> outputChannel(org.springframework.messaging.MessageChannel outputChannel)
Use either this setter or messagingTemplate(MessagingTemplate)
to provide a fully configured messaging template.
outputChannel
- the output channel.messagingTemplate(MessagingTemplate)
public RemoteChunkingMasterStepBuilder<I,O> messagingTemplate(org.springframework.integration.core.MessagingTemplate messagingTemplate)
MessagingTemplate
to use to send data to workers.
The default channel of the messaging template must be set.
Use either this setter to provide a fully configured messaging template or
provide an output channel through outputChannel(MessageChannel)
and a default messaging template will be created.
messagingTemplate
- the messaging template to useoutputChannel(MessageChannel)
public RemoteChunkingMasterStepBuilder<I,O> maxWaitTimeouts(int maxWaitTimeouts)
maxWaitTimeouts
- the maximum number of wait timeoutsChunkMessageChannelItemWriter.setMaxWaitTimeouts(int)
public RemoteChunkingMasterStepBuilder<I,O> throttleLimit(long throttleLimit)
throttleLimit
- the throttle limit to setChunkMessageChannelItemWriter.setThrottleLimit(long)
public TaskletStep build()
TaskletStep
.build
in class FaultTolerantStepBuilder<I,O>
RemoteChunkHandlerFactoryBean
public RemoteChunkingMasterStepBuilder<I,O> reader(ItemReader<? extends I> reader)
SimpleStepBuilder
AbstractTaskletStepBuilder.stream(ItemStream)
or listener if it implements the corresponding interface. By default assumed to be non-transactional.reader
in class SimpleStepBuilder<I,O>
reader
- an item readerSimpleStepBuilder.readerTransactionalQueue
public RemoteChunkingMasterStepBuilder<I,O> repository(JobRepository jobRepository)
repository
in class StepBuilderHelper<AbstractTaskletStepBuilder<SimpleStepBuilder<I,O>>>
public RemoteChunkingMasterStepBuilder<I,O> transactionManager(org.springframework.transaction.PlatformTransactionManager transactionManager)
transactionManager
in class StepBuilderHelper<AbstractTaskletStepBuilder<SimpleStepBuilder<I,O>>>
public RemoteChunkingMasterStepBuilder<I,O> listener(java.lang.Object listener)
FaultTolerantStepBuilder
listener
in class FaultTolerantStepBuilder<I,O>
listener
- the object that has a method configured with listener annotationpublic RemoteChunkingMasterStepBuilder<I,O> listener(SkipListener<? super I,? super O> listener)
FaultTolerantStepBuilder
listener
in class FaultTolerantStepBuilder<I,O>
listener
- the listener to registerpublic RemoteChunkingMasterStepBuilder<I,O> listener(ChunkListener listener)
AbstractTaskletStepBuilder
listener
in class FaultTolerantStepBuilder<I,O>
listener
- the listener to registerpublic RemoteChunkingMasterStepBuilder<I,O> transactionAttribute(org.springframework.transaction.interceptor.TransactionAttribute transactionAttribute)
AbstractTaskletStepBuilder
transactionAttribute
in class FaultTolerantStepBuilder<I,O>
transactionAttribute
- a transaction attribute setpublic RemoteChunkingMasterStepBuilder<I,O> listener(org.springframework.retry.RetryListener listener)
FaultTolerantStepBuilder
listener
in class FaultTolerantStepBuilder<I,O>
listener
- the listener to registerpublic RemoteChunkingMasterStepBuilder<I,O> keyGenerator(KeyGenerator keyGenerator)
FaultTolerantStepBuilder
keyGenerator
in class FaultTolerantStepBuilder<I,O>
keyGenerator
- a key generator for the stateful retrypublic RemoteChunkingMasterStepBuilder<I,O> retryLimit(int retryLimit)
FaultTolerantStepBuilder
FaultTolerantStepBuilder.retryPolicy
is set.retryLimit
in class FaultTolerantStepBuilder<I,O>
retryLimit
- the retry limit (default 0)public RemoteChunkingMasterStepBuilder<I,O> retryPolicy(org.springframework.retry.RetryPolicy retryPolicy)
FaultTolerantStepBuilder
FaultTolerantStepBuilder.retryLimit(int)
and retryable exceptions provided
elsewhere. Can be used to retry different exceptions a different number of times, for instance.retryPolicy
in class FaultTolerantStepBuilder<I,O>
retryPolicy
- a retry policypublic RemoteChunkingMasterStepBuilder<I,O> backOffPolicy(org.springframework.retry.backoff.BackOffPolicy backOffPolicy)
FaultTolerantStepBuilder
FaultTolerantStepBuilder.retryPolicy
is
set.backOffPolicy
in class FaultTolerantStepBuilder<I,O>
backOffPolicy
- the back off policy to use (default no backoff)public RemoteChunkingMasterStepBuilder<I,O> retryContextCache(org.springframework.retry.policy.RetryContextCache retryContextCache)
FaultTolerantStepBuilder
retryContextCache
in class FaultTolerantStepBuilder<I,O>
retryContextCache
- cache for retry contexts in between transactions (default to standard in-memory
implementation)public RemoteChunkingMasterStepBuilder<I,O> skipLimit(int skipLimit)
FaultTolerantStepBuilder
FaultTolerantStepBuilder.skipPolicy(SkipPolicy)
is provided.skipLimit
in class FaultTolerantStepBuilder<I,O>
skipLimit
- the skip limit to setpublic RemoteChunkingMasterStepBuilder<I,O> noSkip(java.lang.Class<? extends java.lang.Throwable> type)
FaultTolerantStepBuilder
noSkip
in class FaultTolerantStepBuilder<I,O>
type
- the non-skippable exceptionpublic RemoteChunkingMasterStepBuilder<I,O> skip(java.lang.Class<? extends java.lang.Throwable> type)
FaultTolerantStepBuilder
skip
in class FaultTolerantStepBuilder<I,O>
type
- the exception type.public RemoteChunkingMasterStepBuilder<I,O> skipPolicy(SkipPolicy skipPolicy)
FaultTolerantStepBuilder
skipPolicy
in class FaultTolerantStepBuilder<I,O>
skipPolicy
- the skip policypublic RemoteChunkingMasterStepBuilder<I,O> noRollback(java.lang.Class<? extends java.lang.Throwable> type)
FaultTolerantStepBuilder
noRollback
in class FaultTolerantStepBuilder<I,O>
type
- the exception to mark as no rollbackpublic RemoteChunkingMasterStepBuilder<I,O> noRetry(java.lang.Class<? extends java.lang.Throwable> type)
FaultTolerantStepBuilder
noRetry
in class FaultTolerantStepBuilder<I,O>
type
- the exception to exclude from retrypublic RemoteChunkingMasterStepBuilder<I,O> retry(java.lang.Class<? extends java.lang.Throwable> type)
FaultTolerantStepBuilder
retry
in class FaultTolerantStepBuilder<I,O>
type
- the exception to retrypublic RemoteChunkingMasterStepBuilder<I,O> stream(ItemStream stream)
AbstractTaskletStepBuilder
stream
in class FaultTolerantStepBuilder<I,O>
stream
- the stream to registerpublic RemoteChunkingMasterStepBuilder<I,O> chunk(int chunkSize)
SimpleStepBuilder
SimpleStepBuilder.completionPolicy
.chunk
in class SimpleStepBuilder<I,O>
chunkSize
- the chunk size (a.k.a commit interval)public RemoteChunkingMasterStepBuilder<I,O> chunk(CompletionPolicy completionPolicy)
SimpleStepBuilder
chunk size
(or commit interval).chunk
in class SimpleStepBuilder<I,O>
completionPolicy
- a completion policy for the chunkpublic RemoteChunkingMasterStepBuilder<I,O> writer(ItemWriter<? super O> writer) throws java.lang.UnsupportedOperationException
UnsupportedOperationException
since
the item writer of the master step in a remote chunking setup will be
automatically set to an instance of ChunkMessageChannelItemWriter
.
When building a master step for remote chunking, no item writer must be
provided.writer
in class SimpleStepBuilder<I,O>
writer
- an item writerjava.lang.UnsupportedOperationException
- if an item writer is providedChunkMessageChannelItemWriter
,
RemoteChunkHandlerFactoryBean.setChunkWriter(ItemWriter)
public RemoteChunkingMasterStepBuilder<I,O> readerIsTransactionalQueue()
SimpleStepBuilder
readerIsTransactionalQueue
in class SimpleStepBuilder<I,O>
public RemoteChunkingMasterStepBuilder<I,O> listener(ItemReadListener<? super I> listener)
SimpleStepBuilder
listener
in class SimpleStepBuilder<I,O>
listener
- the listener to registerpublic RemoteChunkingMasterStepBuilder<I,O> listener(ItemWriteListener<? super O> listener)
SimpleStepBuilder
listener
in class SimpleStepBuilder<I,O>
listener
- the listener to registerpublic RemoteChunkingMasterStepBuilder<I,O> chunkOperations(RepeatOperations repeatTemplate)
SimpleStepBuilder
chunk size
or completion policy
you can provide
a complete repeat operations instance that handles the iteration over the item reader.chunkOperations
in class SimpleStepBuilder<I,O>
repeatTemplate
- a complete repeat template for the chunkpublic RemoteChunkingMasterStepBuilder<I,O> exceptionHandler(ExceptionHandler exceptionHandler)
AbstractTaskletStepBuilder
exceptionHandler
in class AbstractTaskletStepBuilder<SimpleStepBuilder<I,O>>
exceptionHandler
- the exception handlerpublic RemoteChunkingMasterStepBuilder<I,O> stepOperations(RepeatOperations repeatTemplate)
AbstractTaskletStepBuilder
stepOperations
in class AbstractTaskletStepBuilder<SimpleStepBuilder<I,O>>
repeatTemplate
- a repeat template with rules for iteratingpublic RemoteChunkingMasterStepBuilder<I,O> startLimit(int startLimit)
startLimit
in class StepBuilderHelper<AbstractTaskletStepBuilder<SimpleStepBuilder<I,O>>>
public RemoteChunkingMasterStepBuilder<I,O> listener(StepExecutionListener listener)
listener
in class StepBuilderHelper<AbstractTaskletStepBuilder<SimpleStepBuilder<I,O>>>
public RemoteChunkingMasterStepBuilder<I,O> allowStartIfComplete(boolean allowStartIfComplete)
allowStartIfComplete
in class StepBuilderHelper<AbstractTaskletStepBuilder<SimpleStepBuilder<I,O>>>
public RemoteChunkingMasterStepBuilder<I,O> processor(ItemProcessor<? super I,? extends O> itemProcessor)
SimpleStepBuilder
AbstractTaskletStepBuilder.stream(ItemStream)
or listener if it implements the corresponding interface.processor
in class SimpleStepBuilder<I,O>
itemProcessor
- an item processor