У меня есть простая программа, работающая с считывателем Spring Batch Input, Writer. Целью программы является простое чтение файла csv.Конфигурация с интервалом прерывания весны не работает
Я установил commit-interval
на 5. В файле csv было всего 5 записей, но по какой-то причине Writer был вызван 3 раза, хотя значение commit-interval
было установлено равным 5. Я ожидал, что сценарий будет вызываться только один раз на основе я понимаю, что читатель и процессор читают каждый элемент по строкам, а затем писатель обрабатывает все 5 одновременно. Наверное, я не понимаю, как влияет фиксация-интервал. Есть рекомендации?
Причина моего вопроса: у меня есть миллион записей, которые мне, возможно, придется прочитать и перейти к следующему шагу, используя коллекцию Java. Теперь, когда я пытаюсь читать из небольшого файла только последний фрагмент, число которого равно к указанному commit-linterval передается на следующий шаг с использованием StepExecution.На предыдущие записи не передаются. Как я могу гарантировать, что все записи будут переданы. Будет ли смена справки-интервала? Или есть другой подход? – user5053360
Я использую ExecutionContext и ExecutionContextPromotionListener для этого. Но только последний кусок, равный интервалу фиксации, устанавливается и читается на следующем шаге. – user5053360
Просьба поделиться файлом конфигурации. Я хочу знать тип 'читателя',' писателя' и 'процессора', который вы используете. – SyntaX