Example usage for org.springframework.batch.core.partition.support PartitionStep setStepExecutionAggregator

List of usage examples for org.springframework.batch.core.partition.support PartitionStep setStepExecutionAggregator

Introduction

In this page you can find the example usage for org.springframework.batch.core.partition.support PartitionStep setStepExecutionAggregator.

Prototype

public void setStepExecutionAggregator(StepExecutionAggregator stepExecutionAggregator) 

Source Link

Document

A StepExecutionAggregator that can aggregate step executions when they come back from the handler.

Usage

From source file:org.springframework.batch.core.configuration.xml.StepParserStepFactoryBean.java

private void configurePartitionStep(PartitionStep ts) {
    Assert.state(partitioner != null, "A Partitioner must be provided for a partition step");
    configureAbstractStep(ts);//from www. j  av  a  2 s .c o  m

    if (partitionHandler != null) {
        ts.setPartitionHandler(partitionHandler);
    } else {
        TaskExecutorPartitionHandler partitionHandler = new TaskExecutorPartitionHandler();
        partitionHandler.setStep(step);
        if (taskExecutor == null) {
            taskExecutor = new SyncTaskExecutor();
        }
        partitionHandler.setGridSize(gridSize);
        partitionHandler.setTaskExecutor(taskExecutor);
        ts.setPartitionHandler(partitionHandler);
    }

    boolean allowStartIfComplete = this.allowStartIfComplete != null ? this.allowStartIfComplete : false;
    String name = this.name;
    if (step != null) {
        try {
            allowStartIfComplete = step.isAllowStartIfComplete();
            name = step.getName();
        } catch (Exception e) {
            logger.info("Ignored exception from step asking for name and allowStartIfComplete flag. "
                    + "Using default from enclosing PartitionStep (" + name + "," + allowStartIfComplete
                    + ").");
        }
    }
    SimpleStepExecutionSplitter splitter = new SimpleStepExecutionSplitter(jobRepository, allowStartIfComplete,
            name, partitioner);
    ts.setStepExecutionSplitter(splitter);
    if (stepExecutionAggregator != null) {
        ts.setStepExecutionAggregator(stepExecutionAggregator);
    }
}