Class RemotePartitioningWorkerStepBuilder
java.lang.Object
org.springframework.batch.core.step.builder.StepBuilderHelper<StepBuilder>
org.springframework.batch.core.step.builder.StepBuilder
org.springframework.batch.integration.partition.RemotePartitioningWorkerStepBuilder
Builder for a worker step in a remote partitioning setup. This builder creates an
IntegrationFlow
that:
- listens to
StepExecutionRequest
s coming from the manager on the input channel - invokes the
StepExecutionRequestHandler
to execute the worker step for each incoming request. The worker step is located using the providedStepLocator
. If noStepLocator
is provided, aBeanFactoryStepLocator
configured with the currentBeanFactory
will be used - replies to the manager on the output channel (when the manager step is configured
to aggregate replies from workers). If no output channel is provided, a
NullChannel
will be used (assuming the manager side is configured to poll the job repository for workers status)
- Since:
- 4.1
- Author:
- Mahmoud Ben Hassine
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.batch.core.step.builder.StepBuilderHelper
StepBuilderHelper.CommonStepProperties
-
Field Summary
Fields inherited from class org.springframework.batch.core.step.builder.StepBuilderHelper
properties
-
Constructor Summary
ConstructorDescriptionDeprecated, for removal: This API element is subject to removal in a future version.RemotePartitioningWorkerStepBuilder
(String name, JobRepository jobRepository) Initialize a step builder for a step with the given name. -
Method Summary
Modifier and TypeMethodDescriptionallowStartIfComplete
(boolean allowStartIfComplete) beanFactory
(org.springframework.beans.factory.BeanFactory beanFactory) Set the bean factory.<I,
O> SimpleStepBuilder<I, O> chunk
(int chunkSize) Deprecated, for removal: This API element is subject to removal in a future version.<I,
O> SimpleStepBuilder<I, O> chunk
(int chunkSize, org.springframework.transaction.PlatformTransactionManager transactionManager) Build a step that processes items in chunks with the size provided.<I,
O> SimpleStepBuilder<I, O> chunk
(CompletionPolicy completionPolicy) Deprecated, for removal: This API element is subject to removal in a future version.<I,
O> SimpleStepBuilder<I, O> chunk
(CompletionPolicy completionPolicy, org.springframework.transaction.PlatformTransactionManager transactionManager) Build a step that processes items in chunks with the completion policy provided.Create a new step builder that will execute a flow.inputChannel
(org.springframework.messaging.MessageChannel inputChannel) Set the input channel on which step execution requests sent by the manager are received.Create a new step builder that will execute a job.jobExplorer
(JobExplorer jobExplorer) Set the job explorer.Registers objects using the annotation based listener configuration.listener
(StepExecutionListener listener) outputChannel
(org.springframework.messaging.MessageChannel outputChannel) Set the output channel on which replies will be sent to the manager step.partitioner
(String stepName, Partitioner partitioner) Create a partition step builder for a remote (or local) step.partitioner
(Step step) Create a partition step builder for a remote (or local) step.repository
(JobRepository jobRepository) startLimit
(int startLimit) stepLocator
(StepLocator stepLocator) Set the step locator used to locate the worker step to execute.Deprecated, for removal: This API element is subject to removal in a future version.tasklet
(Tasklet tasklet, org.springframework.transaction.PlatformTransactionManager transactionManager) Build a step with a custom tasklet, not necessarily item processing.Methods inherited from class org.springframework.batch.core.step.builder.StepBuilder
self
Methods inherited from class org.springframework.batch.core.step.builder.StepBuilderHelper
enhance, getJobRepository, getName, isAllowStartIfComplete, meterRegistry, observationRegistry
-
Constructor Details
-
RemotePartitioningWorkerStepBuilder
Deprecated, for removal: This API element is subject to removal in a future version.Initialize a step builder for a step with the given name.- Parameters:
name
- the name of the step
-
RemotePartitioningWorkerStepBuilder
Initialize a step builder for a step with the given name.- Parameters:
name
- the name of the stepjobRepository
- the job repository to which the step should report to- Since:
- 5.0
-
-
Method Details
-
inputChannel
public RemotePartitioningWorkerStepBuilder inputChannel(org.springframework.messaging.MessageChannel inputChannel) Set the input channel on which step execution requests sent by the manager are received.- Parameters:
inputChannel
- the input channel- Returns:
- this builder instance for fluent chaining
-
outputChannel
public RemotePartitioningWorkerStepBuilder outputChannel(org.springframework.messaging.MessageChannel outputChannel) Set the output channel on which replies will be sent to the manager step.- Parameters:
outputChannel
- the input channel- Returns:
- this builder instance for fluent chaining
-
jobExplorer
Set the job explorer.- Parameters:
jobExplorer
- the job explorer to use- Returns:
- this builder instance for fluent chaining
-
stepLocator
Set the step locator used to locate the worker step to execute.- Parameters:
stepLocator
- the step locator to use- Returns:
- this builder instance for fluent chaining
-
beanFactory
public RemotePartitioningWorkerStepBuilder beanFactory(org.springframework.beans.factory.BeanFactory beanFactory) Set the bean factory.- Parameters:
beanFactory
- the bean factory- Returns:
- this builder instance for fluent chaining
-
repository
- Overrides:
repository
in classStepBuilderHelper<StepBuilder>
-
startLimit
- Overrides:
startLimit
in classStepBuilderHelper<StepBuilder>
-
listener
Description copied from class:StepBuilderHelper
Registers objects using the annotation based listener configuration.- Overrides:
listener
in classStepBuilderHelper<StepBuilder>
- Parameters:
listener
- the object that has a method configured with listener annotation- Returns:
- this for fluent chaining
-
listener
- Overrides:
listener
in classStepBuilderHelper<StepBuilder>
-
allowStartIfComplete
- Overrides:
allowStartIfComplete
in classStepBuilderHelper<StepBuilder>
-
tasklet
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from class:StepBuilder
Build a step with a custom tasklet, not necessarily item processing.- Overrides:
tasklet
in classStepBuilder
- Parameters:
tasklet
- a tasklet- Returns:
- a
TaskletStepBuilder
-
tasklet
public TaskletStepBuilder tasklet(Tasklet tasklet, org.springframework.transaction.PlatformTransactionManager transactionManager) Description copied from class:StepBuilder
Build a step with a custom tasklet, not necessarily item processing.- Overrides:
tasklet
in classStepBuilder
- Parameters:
tasklet
- a tasklettransactionManager
- the transaction manager to use for the tasklet- Returns:
- a
TaskletStepBuilder
-
chunk
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from class:StepBuilder
Build a step that processes items in chunks with the size provided. To extend the step to being fault tolerant, call theSimpleStepBuilder.faultTolerant()
method on the builder. In most cases you will want to parameterize your call to this method, to preserve the type safety of your readers and writers, e.g.new StepBuilder("step1").<Order, Ledger> chunk(100).reader(new OrderReader()).writer(new LedgerWriter()) // ... etc.
- Overrides:
chunk
in classStepBuilder
- Type Parameters:
I
- the type of item to be processed as inputO
- the type of item to be output- Parameters:
chunkSize
- the chunk size (commit interval)- Returns:
- a
SimpleStepBuilder
-
chunk
public <I,O> SimpleStepBuilder<I,O> chunk(int chunkSize, org.springframework.transaction.PlatformTransactionManager transactionManager) Description copied from class:StepBuilder
Build a step that processes items in chunks with the size provided. To extend the step to being fault tolerant, call theSimpleStepBuilder.faultTolerant()
method on the builder. In most cases you will want to parameterize your call to this method, to preserve the type safety of your readers and writers, e.g.new StepBuilder("step1").<Order, Ledger> chunk(100, transactionManager).reader(new OrderReader()).writer(new LedgerWriter()) // ... etc.
- Overrides:
chunk
in classStepBuilder
- Type Parameters:
I
- the type of item to be processed as inputO
- the type of item to be output- Parameters:
chunkSize
- the chunk size (commit interval)transactionManager
- the transaction manager to use for the chunk-oriented tasklet- Returns:
- a
SimpleStepBuilder
-
chunk
@Deprecated(since="5.0", forRemoval=true) public <I,O> SimpleStepBuilder<I,O> chunk(CompletionPolicy completionPolicy) Deprecated, for removal: This API element is subject to removal in a future version.Description copied from class:StepBuilder
Build a step that processes items in chunks with the completion policy provided. To extend the step to being fault tolerant, call theSimpleStepBuilder.faultTolerant()
method on the builder. In most cases you will want to parameterize your call to this method, to preserve the type safety of your readers and writers, e.g.new StepBuilder("step1").<Order, Ledger> chunk(100).reader(new OrderReader()).writer(new LedgerWriter()) // ... etc.
- Overrides:
chunk
in classStepBuilder
- Type Parameters:
I
- the type of item to be processed as inputO
- the type of item to be output- Parameters:
completionPolicy
- the completion policy to use to control chunk processing- Returns:
- a
SimpleStepBuilder
-
chunk
public <I,O> SimpleStepBuilder<I,O> chunk(CompletionPolicy completionPolicy, org.springframework.transaction.PlatformTransactionManager transactionManager) Description copied from class:StepBuilder
Build a step that processes items in chunks with the completion policy provided. To extend the step to being fault tolerant, call theSimpleStepBuilder.faultTolerant()
method on the builder. In most cases you will want to parameterize your call to this method, to preserve the type safety of your readers and writers, e.g.new StepBuilder("step1").<Order, Ledger> chunk(100, transactionManager).reader(new OrderReader()).writer(new LedgerWriter()) // ... etc.
- Overrides:
chunk
in classStepBuilder
- Type Parameters:
I
- the type of item to be processed as inputO
- the type of item to be output- Parameters:
completionPolicy
- the completion policy to use to control chunk processingtransactionManager
- the transaction manager to use for the chunk-oriented tasklet- Returns:
- a
SimpleStepBuilder
-
partitioner
Description copied from class:StepBuilder
Create a partition step builder for a remote (or local) step.- Overrides:
partitioner
in classStepBuilder
- Parameters:
stepName
- the name of the remote or delegate steppartitioner
- a partitioner to be used to construct new step executions- Returns:
- a
PartitionStepBuilder
-
partitioner
Description copied from class:StepBuilder
Create a partition step builder for a remote (or local) step.- Overrides:
partitioner
in classStepBuilder
- Parameters:
step
- the step to execute in parallel- Returns:
- a PartitionStepBuilder
-
job
Description copied from class:StepBuilder
Create a new step builder that will execute a job.- Overrides:
job
in classStepBuilder
- Parameters:
job
- a job to execute- Returns:
- a
JobStepBuilder
-
flow
Description copied from class:StepBuilder
Create a new step builder that will execute a flow.- Overrides:
flow
in classStepBuilder
- Parameters:
flow
- a flow to execute- Returns:
- a
FlowStepBuilder
-
RemotePartitioningWorkerStepBuilder(String, JobRepository)