Interface PartitionHandler
- All Known Implementing Classes:
AbstractPartitionHandler
,JsrPartitionHandler
,MessageChannelPartitionHandler
,TaskExecutorPartitionHandler
public interface PartitionHandler
Interface defining the responsibilities of controlling the execution of a partitionedStepExecution
. Implementations will need to create a partition with theStepExecutionSplitter
, and then use an execution fabric (grid, etc.), to execute the partitioned step. The results of the executions can be returned raw from remote workers to be aggregated by the caller.- Since:
- 2.0
- Author:
- Dave Syer
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.Collection<StepExecution>
handle(StepExecutionSplitter stepSplitter, StepExecution stepExecution)
Main entry point forPartitionHandler
interface.
Method Detail
handle
java.util.Collection<StepExecution> handle(StepExecutionSplitter stepSplitter, StepExecution stepExecution) throws java.lang.Exception
Main entry point forPartitionHandler
interface. The splitter creates all the executions that need to be farmed out, along with their input parameters (in the form of theirExecutionContext
). The master step execution is used to identify the partition and group together the results logically.- Parameters:
stepSplitter
- a strategy for generating a collection ofStepExecution
instancesstepExecution
- the master step execution for the whole partition- Returns:
- a collection of completed
StepExecution
instances - Throws:
java.lang.Exception
- if anything goes wrong. This allows implementations to be liberal and rely on the caller to translate an exception into a step failure as necessary.