Example usage for org.springframework.batch.repeat.support RepeatSynchronizationManager clear

List of usage examples for org.springframework.batch.repeat.support RepeatSynchronizationManager clear

Introduction

In this page you can find the example usage for org.springframework.batch.repeat.support RepeatSynchronizationManager clear.

Prototype

public static RepeatContext clear() 

Source Link

Document

Clear the current context at the end of a batch - should only be used by RepeatOperations implementations.

Usage

From source file:org.springframework.batch.repeat.support.RepeatTemplate.java

/**
 * Execute the batch callback until the completion policy decides that we
 * are finished. Wait for the whole batch to finish before returning even if
 * the task executor is asynchronous.//from  w  ww  .  j a va2s.  co  m
 * 
 * @see org.springframework.batch.repeat.RepeatOperations#iterate(org.springframework.batch.repeat.RepeatCallback)
 */
@Override
public RepeatStatus iterate(RepeatCallback callback) {

    RepeatContext outer = RepeatSynchronizationManager.getContext();

    RepeatStatus result = RepeatStatus.CONTINUABLE;
    try {
        // This works with an asynchronous TaskExecutor: the
        // interceptors have to wait for the child processes.
        result = executeInternal(callback);
    } finally {
        RepeatSynchronizationManager.clear();
        if (outer != null) {
            RepeatSynchronizationManager.register(outer);
        }
    }

    return result;
}