Package org.springframework.batch.core.partition

# Interface PartitionHandler

All Known Implementing Classes:
  `AbstractPartitionHandler`, `MessageChannelPartitionHandler`, `TaskExecutorPartitionHandler`

public interface PartitionHandler
Interface defining the responsibilities of controlling the execution of a partitioned `StepExecution`. Implementations will need to create a partition with the `StepExecutionSplitter`, 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, Mahmoud Ben Hassine

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Collection<StepExecution>`
  `handle(StepExecutionSplitter stepSplitter, StepExecution stepExecution)`
  Main entry point for `PartitionHandler` interface.

- ## Method Details

  - ### handle

    Collection<StepExecution> handle(StepExecutionSplitter stepSplitter, StepExecution stepExecution) throws Exception
    Main entry point for `PartitionHandler` interface. The splitter creates all the executions that need to be farmed out, along with their input parameters (in the form of their `ExecutionContext`). The manager step execution is used to identify the partition and group together the results logically.
    Parameters:
      `stepSplitter` - a strategy for generating a collection of `StepExecution` instances
      `stepExecution` - the manager step execution for the whole partition
    Returns:
      a collection of completed `StepExecution` instances
    Throws:
      `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.