org.springframework.batch.core.partition

## Interface PartitionHandler

- All Known Implementing Classes:
    AbstractPartitionHandler, JsrPartitionHandler, 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

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Collection<StepExecution>` | `handle(StepExecutionSplitter stepSplitter, StepExecution stepExecution)` Main entry point for `PartitionHandler` interface.

- - ### Method Detail

    - #### handle

          java.util.Collection<StepExecution> handle(StepExecutionSplitter stepSplitter,
                                                     StepExecution stepExecution)
                                              throws java.lang.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 master 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 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.