Spring Batch: чтение нескольких файлов JSON и обработка по одному

У меня есть огромные файлы JSON в папке около 200 каждый из 300 мбс. Мне нужно написать пакет Spring, чтобы читать файлы и обрабатывать один за другим.

По сути, означает чтение по одному файлу за раз, затем запустите процессор, затем запустите программу записи, затем прочитайте следующий файл. Этот файл - это, в основном, данные клиента и дамп активности, каждый файл содержит данные нескольких пользователей и множество файлов. Как ниже

[{
"cutomerId":123,
"customerName":"bla babha",
"phoneNumber" : 5060974321,
..
,,
},{
"cutomerId":123,
"customerName":"bla babha",
"phoneNumber" : 5060974321,
..
..
}
]

Так как я не могу прочитать все файлы в одном из-за проблемы с пространством.

Это возможно. какая будет конфигурация.

Пожалуйста помоги.

1 ответ

В Spring Batch v4.1 появился JsonItemReader, который вы можете использовать для чтения ваших файлов json. Более подробную информацию о поддержке Json можно найти в разделе " Читатели и писатели элементов JSON" справочной документации.

Этот читатель может быть использован в качестве делегата для MultiResourceItemReader (как упоминал Лука Бассо Риччи в комментарии) для чтения нескольких файлов json в каталоге. Вы можете найти пример здесь. Пример показывает FlatFileItemReader в качестве делегата, но вы можете использовать аналогичную конфигурацию с JsonItemReader вместо.

Надеюсь это поможет.

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