Spring Конфигурация пакетного фиксации не работает
У меня есть простая программа, работающая с Spring Batch Input reader, Writer.
Цель программы - просто прочитать файл csv.
Я установил commit-interval
в 5. Файл csv имел только 5 записей, но по какой-то причине Writer был вызван 3 раза, хотя для параметра commit-interval
установлено значение 5. Я ожидал, что сценарий будет вызываться только один раз, основываясь на моем понимании, что считыватель и процессор элементов будут читать каждый элемент по строкам, а затем писатель будет обрабатывать все 5 одновременно. Наверное, я не понимаю, как влияет фиксация-интервал. Любые советы?
Ответы
Ответ 1
Я думаю, у вас должно получиться что-то вроде:
<job id="stepJob">
<step id="step1">
<tasklet>
<chunk reader="inputReader" writer="outputWriter" commit-interval="5"/>
</tasklet>
</step>
</job>
Последний фрагмент примерного шага - это тег chunk, где мы определяем, какой фрагмент для этого шага. Атрибут commit-interval устанавливается в 5 в примере, что означает, что нет
записи будут записаны до тех пор, пока не будут прочитаны и обработаны 5 записей.