Example usage for org.springframework.batch.core.step.builder SimpleStepBuilder listener

List of usage examples for org.springframework.batch.core.step.builder SimpleStepBuilder listener

Introduction

In this page you can find the example usage for org.springframework.batch.core.step.builder SimpleStepBuilder listener.

Prototype

public SimpleStepBuilder<I, O> listener(ItemProcessListener<? super I, ? super O> listener) 

Source Link

Document

Register an item processor listener.

Usage

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

protected void applyConfiguration(SimpleStepBuilder<T, S> builder) {

    builder.reader(itemReader);// www  . j  av  a 2 s. co m
    builder.processor(itemProcessor);
    builder.writer(itemWriter);
    for (StepExecutionListener listener : BatchListenerFactoryHelper
            .<StepExecutionListener>getListeners(listeners, StepExecutionListener.class)) {
        builder.listener(listener);
    }
    for (ChunkListener listener : BatchListenerFactoryHelper.<ChunkListener>getListeners(listeners,
            ChunkListener.class)) {
        builder.listener(listener);
    }
    for (ItemReadListener<T> listener : BatchListenerFactoryHelper.<ItemReadListener<T>>getListeners(listeners,
            ItemReadListener.class)) {
        builder.listener(listener);
    }
    for (ItemWriteListener<S> listener : BatchListenerFactoryHelper
            .<ItemWriteListener<S>>getListeners(listeners, ItemWriteListener.class)) {
        builder.listener(listener);
    }
    for (ItemProcessListener<T, S> listener : BatchListenerFactoryHelper
            .<ItemProcessListener<T, S>>getListeners(listeners, ItemProcessListener.class)) {
        builder.listener(listener);
    }
    builder.transactionManager(transactionManager);
    builder.transactionAttribute(getTransactionAttribute());
    builder.repository(jobRepository);
    builder.startLimit(startLimit);
    builder.allowStartIfComplete(allowStartIfComplete);
    builder.chunk(commitInterval);
    builder.chunk(chunkCompletionPolicy);
    builder.chunkOperations(chunkOperations);
    builder.stepOperations(stepOperations);
    builder.taskExecutor(taskExecutor);
    builder.throttleLimit(throttleLimit);
    builder.exceptionHandler(exceptionHandler);
    if (isReaderTransactionalQueue) {
        builder.readerIsTransactionalQueue();
    }
    for (ItemStream stream : streams) {
        builder.stream(stream);
    }

}