Мне нужно создать пакет с Spring Batch, который читает из REST API и записывает в CSV-файл. Чтобы реализовать это, я создал специальный ридер, который реализует интерфейс ItemReader
и расширяет AbstractItemCountingItemStreamItemReader
.
Проблема в том, что я хотел бы написать одну порцию записей перед прочтением следующей, так как работает любой родной класс для чтения Spring Batch.
Мне бы хотелось, чтобы мой рабочий процесс выглядел следующим образом: прочитать первые 100 000 записей - написать - прочитать следующие 100 000 записей - написать и т. Д.
На данный момент я могу только читать первые 100 000 записей и записывать их, но затем работа останавливается, она не читает следующий фрагмент строк.
Как я могу "сказать" своему читателю, что еще есть данные для чтения?
Я пытался установить maxItemCount
и currentItemCount
с AbstractItemCountingItemStreamItemReader
, но тщетно.
Заранее благодарим за помощь!