public class RemotePartitioningMasterStepBuilder extends PartitionStepBuilder
MessageChannelPartitionHandler
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
logger, properties
Constructor and Description |
---|
RemotePartitioningMasterStepBuilder(java.lang.String stepName)
Create a new
RemotePartitioningMasterStepBuilder . |
Modifier and Type | Method and Description |
---|---|
RemotePartitioningMasterStepBuilder |
aggregator(StepExecutionAggregator aggregator)
Provide a step execution aggregator for aggregating partitioned step executions into a single result for the
PartitionStep itself. |
RemotePartitioningMasterStepBuilder |
allowStartIfComplete(boolean allowStartIfComplete) |
RemotePartitioningMasterStepBuilder |
beanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
Set the bean factory.
|
Step |
build() |
RemotePartitioningMasterStepBuilder |
gridSize(int gridSize)
A hint to the
PartitionStepBuilder.splitter(StepExecutionSplitter) about how many step executions are required. |
RemotePartitioningMasterStepBuilder |
inputChannel(org.springframework.messaging.MessageChannel inputChannel)
Set the input channel on which replies from workers will be received.
|
RemotePartitioningMasterStepBuilder |
jobExplorer(JobExplorer jobExplorer)
Set the job explorer.
|
RemotePartitioningMasterStepBuilder |
listener(java.lang.Object listener)
Registers objects using the annotation based listener configuration.
|
RemotePartitioningMasterStepBuilder |
listener(StepExecutionListener listener) |
RemotePartitioningMasterStepBuilder |
messagingTemplate(org.springframework.integration.core.MessagingTemplate messagingTemplate)
Set the
MessagingTemplate to use to send data to workers. |
RemotePartitioningMasterStepBuilder |
outputChannel(org.springframework.messaging.MessageChannel outputChannel)
Set the output channel on which requests to workers will be sent.
|
RemotePartitioningMasterStepBuilder |
partitioner(java.lang.String slaveStepName,
Partitioner partitioner)
Add a partitioner which can be used to create a
StepExecutionSplitter . |
RemotePartitioningMasterStepBuilder |
partitionHandler(PartitionHandler partitionHandler)
This method will throw a
UnsupportedOperationException since
the partition handler of the master step will be automatically set to an
instance of MessageChannelPartitionHandler . |
RemotePartitioningMasterStepBuilder |
pollInterval(long pollInterval)
How often to poll the job repository for the status of the workers.
|
RemotePartitioningMasterStepBuilder |
repository(JobRepository jobRepository) |
RemotePartitioningMasterStepBuilder |
splitter(StepExecutionSplitter splitter)
Provide an explicit
StepExecutionSplitter instead of having one build from the
PartitionStepBuilder.partitioner(String, Partitioner) . |
RemotePartitioningMasterStepBuilder |
startLimit(int startLimit) |
RemotePartitioningMasterStepBuilder |
step(Step step)
Provide an actual step instance to execute in parallel.
|
RemotePartitioningMasterStepBuilder |
timeout(long timeout)
When using job repository polling, the time limit to wait.
|
RemotePartitioningMasterStepBuilder |
transactionManager(org.springframework.transaction.PlatformTransactionManager transactionManager) |
getAggregator, getGridSize, getPartitioner, getPartitionHandler, getSplitter, getStep, getStepName, getTaskExecutor, taskExecutor
enhance, getJobRepository, getName, getTransactionManager, isAllowStartIfComplete
public RemotePartitioningMasterStepBuilder(java.lang.String stepName)
RemotePartitioningMasterStepBuilder
.stepName
- name of the master steppublic RemotePartitioningMasterStepBuilder inputChannel(org.springframework.messaging.MessageChannel inputChannel)
inputChannel
- the input channelpublic RemotePartitioningMasterStepBuilder 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 RemotePartitioningMasterStepBuilder 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 RemotePartitioningMasterStepBuilder jobExplorer(JobExplorer jobExplorer)
jobExplorer
- the job explorer to use.public RemotePartitioningMasterStepBuilder pollInterval(long pollInterval)
pollInterval
- the poll interval value in millisecondspublic RemotePartitioningMasterStepBuilder timeout(long timeout)
timeout
- the timeout value in millisecondspublic RemotePartitioningMasterStepBuilder beanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
beanFactory
- the bean factory to usepublic Step build()
build
in class PartitionStepBuilder
public RemotePartitioningMasterStepBuilder repository(JobRepository jobRepository)
repository
in class StepBuilderHelper<PartitionStepBuilder>
public RemotePartitioningMasterStepBuilder transactionManager(org.springframework.transaction.PlatformTransactionManager transactionManager)
transactionManager
in class StepBuilderHelper<PartitionStepBuilder>
public RemotePartitioningMasterStepBuilder partitioner(java.lang.String slaveStepName, Partitioner partitioner)
PartitionStepBuilder
StepExecutionSplitter
. Use either this or an explicit
PartitionStepBuilder.splitter(StepExecutionSplitter)
but not both.partitioner
in class PartitionStepBuilder
slaveStepName
- the name of the slave step (used to construct step execution names)partitioner
- a partitioner to usepublic RemotePartitioningMasterStepBuilder 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 RemotePartitioningMasterStepBuilder 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 RemotePartitioningMasterStepBuilder 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 RemotePartitioningMasterStepBuilder 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 RemotePartitioningMasterStepBuilder startLimit(int startLimit)
startLimit
in class StepBuilderHelper<PartitionStepBuilder>
public RemotePartitioningMasterStepBuilder listener(java.lang.Object listener)
StepBuilderHelper
listener
in class StepBuilderHelper<PartitionStepBuilder>
listener
- the object that has a method configured with listener annotationpublic RemotePartitioningMasterStepBuilder listener(StepExecutionListener listener)
listener
in class StepBuilderHelper<PartitionStepBuilder>
public RemotePartitioningMasterStepBuilder allowStartIfComplete(boolean allowStartIfComplete)
allowStartIfComplete
in class StepBuilderHelper<PartitionStepBuilder>
public RemotePartitioningMasterStepBuilder partitionHandler(PartitionHandler partitionHandler) throws java.lang.UnsupportedOperationException
UnsupportedOperationException
since
the partition handler of the master step will be automatically set to an
instance of MessageChannelPartitionHandler
.
When building a master 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