JdbcCursorItemReader интервал принятия - PullRequest
0 голосов
/ 14 декабря 2018

Согласно этому документу , в нем говорится, что при обработке, ориентированной на фрагменты, количество считываний считывателя равно количеству интервалов фиксации.Интересно, все ли читатели из коробки следуют одному и тому же принципу?Скажем, для JdbcCursorItemReader означает ли это, что он выбирает только «первую» сотню ( интервал коммита = 100 ) на основе заданного оператора SQL, или он сначала выбирает все данные и обрабатывает блок-байны-чанк с количеством интервалов фиксации?

Документы, которые помогут уточнить, очень ценятся!Спасибо!

1 Ответ

0 голосов
/ 14 декабря 2018

Считыватели предметов не знают о размере чанка.Это шаг, ориентированный на порцию, который определяет, когда вызывать считыватель элементов, чтобы получить следующий элемент, пока не будет создан фрагмент или источник данных исчерпан (считыватель элементов возвращает null).

Допустим, дляУказывает ли JdbcCursorItemReader, что он выбирает только «первую» сотню (интервал принятия = 100) на основе заданного оператора SQL, или он сначала выбирает все данные и обрабатывает их по частям с интервалом фиксации?

Если интервал фиксации (или chunkSize) установлен равным 100, JdbcCursorItemReader не читает первые 100 элементов или не выбирает все данные, он фактически будет читать fetchSize Предметы.На примере chunkSize=100, если fetchSize=10, то JdbcCursorItemReader будет выполнять 10 запросов к базе данных для каждого чанка.

Надеюсь, это проясняет связь между этими параметрами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...