javax.batch.api.partition

## Interface PartitionReducer

- All Known Implementing Classes:
    AbstractPartitionReducer

      public interface PartitionReducer

  PartitionReducer provides unit of work demarcation across partitions. It is not a JTA transaction; no resources are enlisted. Rather, it provides transactional flow semantics to facilitate finalizing merge or compensation logic.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `PartitionReducer.PartitionStatus`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `afterPartitionedStepCompletion(PartitionReducer.PartitionStatus status)` The afterPartitionedStepCompletion method receives control at the end of a partition processing.
    `void` | `beforePartitionedStepCompletion()` The beforePartitionedStepCompletion method receives control at the end of partitioned step processing.
    `void` | `beginPartitionedStep()` The beginPartitionedStep method receives control at the start of partition processing.
    `void` | `rollbackPartitionedStep()` The rollbackPartitionedStep method receives control if the runtime is rolling back a partitioned step.

- - ### Method Detail

    - #### beginPartitionedStep

          void beginPartitionedStep()
                                    throws Exception

      The beginPartitionedStep method receives control at the start of partition processing. It receives control before the PartitionMapper is invoked and before any partitions are started.
      Throws:
        `Exception` - is thrown if an error occurs.

    - #### beforePartitionedStepCompletion

          void beforePartitionedStepCompletion()
                                               throws Exception

      The beforePartitionedStepCompletion method receives control at the end of partitioned step processing. It receives control after all partitions have completed. It does not receive control if the PartitionReducer is rolling back.
      Throws:
        `Exception` - is thrown if an error occurs.

    - #### rollbackPartitionedStep

          void rollbackPartitionedStep()
                                       throws Exception

      The rollbackPartitionedStep method receives control if the runtime is rolling back a partitioned step. Any partition threads still running are allowed to complete before this method is invoked. This method receives control if any of the following conditions are true:

      1. One or more partitions end with a Batch Status of STOPPED or FAILED.
      2. Any of the following partitioned step callbacks throw an exception:
      1. PartitionMapper
      2. PartitionReducer
      3. PartitionCollector
      4. PartitionAnalyzer
      3. A job with partitioned steps is restarted.
      Throws:
        `Exception` - is thrown if an error occurs.

    - #### afterPartitionedStepCompletion

          void afterPartitionedStepCompletion(PartitionReducer.PartitionStatus status)
                                              throws Exception

      The afterPartitionedStepCompletion method receives control at the end of a partition processing. It receives a status value that identifies the outcome of the partition processing. The status string value is either "COMMIT" or "ROLLBACK".
      Parameters:
        `status` - specifies the outcome of the partitioned step. Values are "COMMIT" or "ROLLBACK".
      Throws:
        `Exception` - is thrown if an error occurs.

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.