из http://static.springsource.org/spring-batch/reference/html/patterns.html
11,7.Обработка шага завершения, когда вход не найден
Во многих пакетных сценариях поиск строк в базе данных или файле для обработки не является исключением.Шаг считается просто найденным без работы и завершается с 0 прочитанными пунктами.Все реализации ItemReader, предоставляемые в Spring Batch по умолчанию, соответствуют этому подходу.Это может привести к некоторой путанице, если ничего не записано даже при наличии входных данных.(что обычно происходит, если файл был назван неверно и т. д.) По этой причине необходимо проверить сами метаданные, чтобы определить, сколько работы было найдено обработанной структурой.Тем не менее, что, если поиск без ввода считается исключительным?В этом случае программная проверка метаданных на предмет отсутствия обработанных элементов и их сбоя является наилучшим решением.Поскольку это обычный случай использования, слушателю предоставляется только эта функциональность:
public class NoWorkFoundStepExecutionListener extends StepExecutionListenerSupport {
public ExitStatus afterStep(StepExecution stepExecution) {
if (stepExecution.getReadCount() == 0) {
return ExitStatus.FAILED;
}
return null;
}
}