2015-07-29 4 views
0

При обработке ступенчатого уровня с использованием обработки пакета (с указанием интервала фиксации) в Spring Batch существует ли способ знать внутри Writer, когда все записи в файле были прочитаны и обработаны. Идея состояла в том, чтобы передать коллекцию записей, считанных из файла, в ExecutionContext, как только все записи были прочитаны.Обработка пакетной партии весов

Пожалуйста, помогите.

+0

Что вы хотите делать с информацией, что все данные считываются и обрабатываются (но еще не написаны?)? –

ответ

0

Я не знаю, если это один из предварительно построенных CompletionPolicy, что делать то, что вы хотите, но если никто не может написать пользовательские CompletionPolicy, что ознаменует кусок завершенным, когда писатель возвращение null; таким образом вы сохраняете все элементы, считанные из файла.
После этого, вы уверены, что это именно то, что вы сделали? потому что хранить весь элемент в ExecutionContext не является хорошей оценкой; также вы потеряете обработку блока, перезапуск и все другие функции SB ...

+0

Спасибо Luca за ваш ответ. Мое требование состоит в том, чтобы в основном прочитать файл (может содержать миллионы записей). Я не изучил подход CompletionPolicy. Может ли это быть указано для каждого Reader/Writer? В конечном счете, я хочу, чтобы все файлы читались из файла, который будет отправлен на следующий шаг для проверки уровня записи, преобразования, а затем создания выходного файла. Спасибо снова. – user5053360

+0

последний бит - отправка данных на следующий шаг, может быть лучше подходит для таблицы промежуточной (базы данных) –

+0

Спасибо Майклу за ваш ответ. Вы имеете в виду, что если все записи, которые читаются из файла, должны быть переданы в следующий шаг для проверки/преобразования и т. д., я должен вставить их в таблицу промежуточных элементов, а затем сделать следующий шаг для чтения из таблицы? – user5053360

Смежные вопросы