Example usage for org.springframework.batch.core.step.tasklet TaskletStep registerStepExecutionListener

List of usage examples for org.springframework.batch.core.step.tasklet TaskletStep registerStepExecutionListener

Introduction

In this page you can find the example usage for org.springframework.batch.core.step.tasklet TaskletStep registerStepExecutionListener.

Prototype

public void registerStepExecutionListener(StepExecutionListener listener) 

Source Link

Document

Register a step listener for callbacks at the appropriate stages in a step execution.

Usage

From source file:org.springframework.batch.core.step.item.SimpleStepFactoryBean.java

/**
 * Register listeners with step and chunk.
 *//* w w  w.  j  a va  2s  .c om*/
private void registerStepListeners(TaskletStep step, RepeatOperations chunkOperations) {

    for (Object itemHandler : new Object[] { getItemReader(), itemWriter, itemProcessor }) {
        if (StepListenerFactoryBean.isListener(itemHandler)) {
            StepListener listener = StepListenerFactoryBean.getListener(itemHandler);
            if (listener instanceof StepExecutionListener) {
                step.registerStepExecutionListener((StepExecutionListener) listener);
            }
            if (listener instanceof ChunkListener) {
                registerChunkListeners(step, listener);
            }
        }
    }

    step.setStepExecutionListeners(BatchListenerFactoryHelper
            .getListeners(listeners, StepExecutionListener.class).toArray(new StepExecutionListener[] {}));

    List<ChunkListener> chunkListeners = BatchListenerFactoryHelper.getListeners(listeners,
            ChunkListener.class);
    for (ChunkListener chunkListener : chunkListeners) {
        registerChunkListeners(step, chunkListener);
    }
}