类 TaskExecutorPartitionHandler

  • 所有已实现的接口:
    PartitionHandler, StepHolder, org.springframework.beans.factory.InitializingBean

    public class TaskExecutorPartitionHandler
    extends AbstractPartitionHandler
    implements StepHolder, org.springframework.beans.factory.InitializingBean
    A PartitionHandler that uses a TaskExecutor to execute the partitioned Step locally in multiple threads. This can be an effective approach for scaling batch steps that are IO intensive, like directory and filesystem scanning and copying.
    By default, the thread pool is synchronous.
    从以下版本开始:
    2.0
    作者:
    Sebastien Gerard, Dave Syer
    • 方法详细资料

      • afterPropertiesSet

        public void afterPropertiesSet()
                                throws java.lang.Exception
        指定者:
        afterPropertiesSet 在接口中 org.springframework.beans.factory.InitializingBean
        抛出:
        java.lang.Exception
      • setTaskExecutor

        public void setTaskExecutor​(org.springframework.core.task.TaskExecutor taskExecutor)
        Setter for the TaskExecutor that is used to farm out step executions to multiple threads.
        参数:
        taskExecutor - a TaskExecutor
      • setStep

        public void setStep​(Step step)
        Setter for the Step that will be used to execute the partitioned StepExecution. This is a regular Spring Batch step, with all the business logic required to complete an execution based on the input parameters in its StepExecution context.
        参数:
        step - the Step instance to use to execute business logic
      • doHandle

        protected java.util.Set<StepExecutiondoHandle​(StepExecution masterStepExecution,
                                                        java.util.Set<StepExecution> partitionStepExecutions)
                                                 throws java.lang.Exception
        从类复制的说明: AbstractPartitionHandler
        Executes the specified StepExecution instances and returns an updated view of them. Throws an Exception if anything goes wrong.
        指定者:
        doHandle 在类中 AbstractPartitionHandler
        参数:
        masterStepExecution - the whole partition execution
        partitionStepExecutions - the StepExecution instances to execute
        返回:
        an updated view of these completed StepExecution instances
        抛出:
        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.
      • createTask

        protected java.util.concurrent.FutureTask<StepExecutioncreateTask​(Step step,
                                                                            StepExecution stepExecution)
        Creates the task executing the given step in the context of the given execution.
        参数:
        step - the step to execute
        stepExecution - the given execution
        返回:
        the task executing the given step