public class RemotePartitioningManagerStepBuilder extends PartitionStepBuilder
MessageChannelPartitionHandler
on the manager 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
logger, properties
Constructor and Description |
---|
RemotePartitioningManagerStepBuilder(java.lang.String stepName)
Create a new
RemotePartitioningManagerStepBuilder . |
Modifier and Type | Method and Description |
---|---|
RemotePartitioningManagerStepBuilder |
aggregator(StepExecutionAggregator aggregator)
Provide a step execution aggregator for aggregating partitioned step executions into a single result for the
PartitionStep itself. |
RemotePartitioningManagerStepBuilder |
allowStartIfComplete(boolean allowStartIfComplete) |
RemotePartitioningManagerStepBuilder |
beanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
Set the bean factory.
|
Step |
build() |
RemotePartitioningManagerStepBuilder |
gridSize(int gridSize)
A hint to the
PartitionStepBuilder.splitter(StepExecutionSplitter) about how many step executions are required. |
RemotePartitioningManagerStepBuilder |
inputChannel(org.springframework.messaging.MessageChannel inputChannel)
Set the input channel on which replies from workers will be received.
|
RemotePartitioningManagerStepBuilder |
jobExplorer(JobExplorer jobExplorer)
Set the job explorer.
|
RemotePartitioningManagerStepBuilder |
listener(java.lang.Object listener)
Registers objects using the annotation based listener configuration.
|
RemotePartitioningManagerStepBuilder |
listener(StepExecutionListener listener) |
RemotePartitioningManagerStepBuilder |
messagingTemplate(org.springframework.integration.core.MessagingTemplate messagingTemplate)
Set the
MessagingTemplate to use to send data to workers. |
RemotePartitioningManagerStepBuilder |
outputChannel(org.springframework.messaging.MessageChannel outputChannel)
Set the output channel on which requests to workers will be sent.
|
RemotePartitioningManagerStepBuilder |
partitioner(java.lang.String workerStepName,
Partitioner partitioner)
Add a partitioner which can be used to create a
StepExecutionSplitter . |
RemotePartitioningManagerStepBuilder |
partitionHandler(PartitionHandler partitionHandler)
This method will throw a
UnsupportedOperationException since
the partition handler of the manager step will be automatically set to an
instance of MessageChannelPartitionHandler . |
RemotePartitioningManagerStepBuilder |
pollInterval(long pollInterval)
How often to poll the job repository for the status of the workers.
|
RemotePartitioningManagerStepBuilder |
repository(JobRepository jobRepository) |
RemotePartitioningManagerStepBuilder |
splitter(StepExecutionSplitter splitter)
Provide an explicit
StepExecutionSplitter instead of having one build from the
PartitionStepBuilder.partitioner(String, Partitioner) . |
RemotePartitioningManagerStepBuilder |
startLimit(int startLimit) |
RemotePartitioningManagerStepBuilder |
step(Step step)
Provide an actual step instance to execute in parallel.
|
RemotePartitioningManagerStepBuilder |
timeout(long timeout)
When using job repository polling, the time limit to wait.
|
RemotePartitioningManagerStepBuilder |
transactionManager(org.springframework.transaction.PlatformTransactionManager transactionManager) |
getAggregator, getGridSize, getPartitioner, getPartitionHandler, getSplitter, getStep, getStepName, getTaskExecutor, taskExecutor
enhance, getJobRepository, getName, getTransactionManager, isAllowStartIfComplete
public RemotePartitioningManagerStepBuilder(java.lang.String stepName)
RemotePartitioningManagerStepBuilder
.stepName
- name of the manager steppublic RemotePartitioningManagerStepBuilder inputChannel(org.springframework.messaging.MessageChannel inputChannel)
inputChannel
- the input channelpublic RemotePartitioningManagerStepBuilder 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 RemotePartitioningManagerStepBuilder 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 RemotePartitioningManagerStepBuilder jobExplorer(JobExplorer jobExplorer)
jobExplorer
- the job explorer to use.public RemotePartitioningManagerStepBuilder pollInterval(long pollInterval)
pollInterval
- the poll interval value in millisecondspublic RemotePartitioningManagerStepBuilder timeout(long timeout)
timeout
- the timeout value in millisecondspublic RemotePartitioningManagerStepBuilder beanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
beanFactory
- the bean factory to usepublic Step build()
build
in class PartitionStepBuilder
public RemotePartitioningManagerStepBuilder repository(JobRepository jobRepository)
repository
in class StepBuilderHelper<PartitionStepBuilder>
public RemotePartitioningManagerStepBuilder transactionManager(org.springframework.transaction.PlatformTransactionManager transactionManager)
transactionManager
in class StepBuilderHelper<PartitionStepBuilder>
public RemotePartitioningManagerStepBuilder partitioner(java.lang.String workerStepName, Partitioner partitioner)
PartitionStepBuilder
StepExecutionSplitter
. Use either this or an explicit
PartitionStepBuilder.splitter(StepExecutionSplitter)
but not both.partitioner
in class PartitionStepBuilder
workerStepName
- the name of the worker step (used to construct step execution names)partitioner
- a partitioner to usepublic RemotePartitioningManagerStepBuilder gridSize(int gridSize)
PartitionStepBuilder
PartitionStepBuilder.splitter(StepExecutionSplitter)
about how many step executions are required. If running
locally or remotely through a PartitionStepBuilder.taskExecutor(TaskExecutor)
determines precisely the number of step
executions in the first attempt at a partition step execution.gridSize
in class PartitionStepBuilder
gridSize
- the grid sizepublic RemotePartitioningManagerStepBuilder step(Step step)
PartitionStepBuilder
PartitionStepBuilder.partitionHandler(PartitionHandler)
is provided, the step is optional and is only used to extract
configuration data (name and other basic properties of a step).step
in class PartitionStepBuilder
step
- a step to execute in parallelpublic RemotePartitioningManagerStepBuilder splitter(StepExecutionSplitter splitter)
PartitionStepBuilder
StepExecutionSplitter
instead of having one build from the
PartitionStepBuilder.partitioner(String, Partitioner)
. Useful if you need more control over the splitting.splitter
in class PartitionStepBuilder
splitter
- a step execution splitterpublic RemotePartitioningManagerStepBuilder aggregator(StepExecutionAggregator aggregator)
PartitionStepBuilder
PartitionStep
itself. Default is a simple implementation that works in most cases.aggregator
in class PartitionStepBuilder
aggregator
- a step execution aggregatorpublic RemotePartitioningManagerStepBuilder startLimit(int startLimit)
startLimit
in class StepBuilderHelper<PartitionStepBuilder>
public RemotePartitioningManagerStepBuilder listener(java.lang.Object listener)
StepBuilderHelper
listener
in class StepBuilderHelper<PartitionStepBuilder>
listener
- the object that has a method configured with listener annotationpublic RemotePartitioningManagerStepBuilder listener(StepExecutionListener listener)
listener
in class StepBuilderHelper<PartitionStepBuilder>
public RemotePartitioningManagerStepBuilder allowStartIfComplete(boolean allowStartIfComplete)
allowStartIfComplete
in class StepBuilderHelper<PartitionStepBuilder>
public RemotePartitioningManagerStepBuilder partitionHandler(PartitionHandler partitionHandler) throws java.lang.UnsupportedOperationException
UnsupportedOperationException
since
the partition handler of the manager step will be automatically set to an
instance of MessageChannelPartitionHandler
.
When building a manager step for remote partitioning using this builder,
no partition handler must be provided.partitionHandler
in class PartitionStepBuilder
partitionHandler
- a partition handlerjava.lang.UnsupportedOperationException
- if a partition handler is providedfor setting up a default handler that works with a local or remote Step