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
вместо.
Надеюсь это поможет.