Spring Batch документация о чан-ориентированном шаге против реальности?

Надокументация Spring Batch для настройки шага - наглядное изображение описывает, как выполняется процесс чтения и записи.

read
process
...
read
process
// until #amountOfReadsAndProcesses = commit interval
write

Соответствующий (согласно документу):

List items = new Arraylist();
for(int i = 0; i < commitInterval; i++){
    Object item = itemReader.read()
    Object processedItem = itemProcessor.process(item);
    items.add(processedItem);
}
itemWriter.write(items);

Однако, когда я отлаживаю и ставлю точку останова в методе чтения считывателя и точку останова в методе процесса процессора, я вижу следующее поведение:

read
...
read
// until #amountOfReads = commit interval
process
...
process
// until #amountOfProcesses = commit interval
write

Так что документация не так? Или мне не хватает какой-то конфигурации, чтобы заставить ее вести себя как документация (там ничего не нашел).

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

Ответы на вопрос(1)

Ваш ответ на вопрос