package org.springframework.batch.integration.retry;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.retry.interceptor.MethodInvocationRecoverer;
/**
* @author Dave Syer
*
*/
public final class SimpleRecoverer implements MethodInvocationRecoverer<String> {
private Log logger = LogFactory.getLog(getClass());
private final List<String> recovered = new ArrayList<String>();
/**
* Public getter for the recovered.
* @return the recovered
*/
public List<String> getRecovered() {
return recovered;
}
public String recover(Object[] data, Throwable cause) {
if (data == null) {
return null;
}
String payload = (String) data[0];
logger.debug("Recovering: " + payload);
recovered.add(payload);
return null;
}
}