Как Spring Batch JdbcCursorItemReader считывает данные из базы данных?

Я использую пакет Spring и читаю данные из postgreSQL с помощью JdbcCursorItemReader, Меня беспокоит то, как внутренне JdbcCursorItemReader читает записи базы данных? Например, если в базе данных имеется 1000 тыс. Записей, а размер фрагмента равен 1000. Таким образом, в этом случае JdbcCursorItemReader попытается извлечь все 1000 тыс. записей в JVM, а затем начнет выполнение фрагмента размером 1000 или за один раз получит только 1000 записей из базы данных (или каким-либо другим способом извлечь записи). Также какая польза от setFetchSizeи чем он отличается от упоминания размера куска? Мое требование состоит в том, чтобы передавать данные из postgreSQL дБ в jvm. Какие конфигурации мне нужны для этого?

1 ответ

Идея JdbcCursorItemReader для передачи данных с сервера RDBMS в пакетное задание. Для этого может потребоваться дополнительная настройка в зависимости от ваших настроек (я знаю, что MySql требует определенных параметров... я не уверен на 100% в Postgres). Но конечный результат при правильной настройке состоит в том, что данные поступают по мере необходимости, а не сразу.

Другие вопросы по тегам