Interface PartitionPlan

All Known Implementing Classes:
PartitionPlanImpl

public interface PartitionPlan
PartitionPlan is a helper class that carries partition processing information set by the @PartitionMapper method. A PartitionPlan contains:
  1. number of partition instances
  2. number of threads on which to execute the partitions
  3. substitution properties for each Partition (which can be referenced using the #{partitionPlan['propertyName']} syntax.
  • Method Summary

    Modifier and Type
    Method
    Description
    Gets array of Partition Properties objects for Partitions.
    int
    Gets count of Partitions.
    boolean
    Return current value of partition override setting.
    int
    Gets maximum number of threads requested to use to run partitions for this step.
    void
    Sets array of substitution Properties objects for the set of Partitions.
    void
    setPartitions(int count)
    Set number of partitions.
    void
    setPartitionsOverride(boolean override)
    Specify whether or not to override the partition count from the previous job execution.
    void
    setThreads(int count)
    Set maximum number of threads requested to use to run partitions for this step.
  • Method Details

    • setPartitions

      void setPartitions(int count)
      Set number of partitions.
      Parameters:
      count - specifies the partition count
    • setPartitionsOverride

      void setPartitionsOverride(boolean override)
      Specify whether or not to override the partition count from the previous job execution. This applies only to step restart.

      When false is specified, the partition count from the previous job execution is used and any new value set for partition count in the current run is ignored. In addition, partition results from the previous job execution are remembered, and only incomplete partitions are reprocessed.

      When true is specified, the partition count from the current run is used and all results from past partitions are discarded. Any resource cleanup or back out of work done in the previous run is the responsibility of the application. The PartitionReducer artifact's rollbackPartitionedStep method is invoked during restart before any partitions begin processing to provide a cleanup hook.

      Parameters:
      override - See method description
    • getPartitionsOverride

      boolean getPartitionsOverride()
      Return current value of partition override setting.
      Returns:
      override setting.
      See Also:
    • setThreads

      void setThreads(int count)
      Set maximum number of threads requested to use to run partitions for this step. A value of '0' requests the batch implementation to use the partition count as the thread count. Note the batch runtime is not required to use this full number of threads; it may not have this many available, and may use less.
      Parameters:
      count - specifies the requested thread count
    • setPartitionProperties

      void setPartitionProperties(Properties[] props)
      Sets array of substitution Properties objects for the set of Partitions.
      Parameters:
      props - specifies the Properties object array
      See Also:
    • getPartitions

      int getPartitions()
      Gets count of Partitions.
      Returns:
      Partition count
    • getThreads

      int getThreads()
      Gets maximum number of threads requested to use to run partitions for this step. A value of '0' requests the batch implementation to use the partition count as the thread count. Note the batch runtime is not required to use this full number of threads; it may not have this many available, and may use less.
      Returns:
      requested thread count
    • getPartitionProperties

      Properties[] getPartitionProperties()
      Gets array of Partition Properties objects for Partitions.

      These can be used in Job XML substitution using substitution expressions with the syntax: #{partitionPlan['propertyName']}

      Each element of the Properties array returned can be used to resolving substitutions for a single partition. In the typical use case, each Properties element will have a similar set of property names, with a substitution potentially resolving to the corresponding value for each partition.

      Returns:
      Partition Properties object array