Подтвердить что ты не робот

Spring Конфигурация пакетного фиксации не работает

У меня есть простая программа, работающая с Spring Batch Input reader, Writer. Цель программы - просто прочитать файл csv.

Я установил commit-interval в 5. Файл csv имел только 5 записей, но по какой-то причине Writer был вызван 3 раза, хотя для параметра commit-interval установлено значение 5. Я ожидал, что сценарий будет вызываться только один раз, основываясь на моем понимании, что считыватель и процессор элементов будут читать каждый элемент по строкам, а затем писатель будет обрабатывать все 5 одновременно. Наверное, я не понимаю, как влияет фиксация-интервал. Любые советы?

4b9b3361

Ответ 1

Я думаю, у вас должно получиться что-то вроде:

<job id="stepJob">
   <step id="step1">
      <tasklet>
          <chunk reader="inputReader" writer="outputWriter" commit-interval="5"/>
      </tasklet>
    </step>
</job>

Последний фрагмент примерного шага - это тег chunk, где мы определяем, какой фрагмент для этого шага. Атрибут commit-interval устанавливается в 5 в примере, что означает, что нет записи будут записаны до тех пор, пока не будут прочитаны и обработаны 5 записей.