Как написать собственный RecordSeparatorPolicy в весенней партии? - PullRequest
0 голосов
/ 12 января 2019

Я использую Spring integration и Spring batch в своем проекте, получаю файл из ftp с пружинной интеграцией и запускаю работу с весенним пакетом для обработки файла, я хочу прочитать файл в следующем формате:
4ByteLength DATA 4ByteLength DATA 4ByteLength DATA ...
Файл имеет только одну строку и может включать в себя миллион записей того же формата, что и выше, мой вопрос: как я могу прочитать эффективный файл с помощью Spring Batch?

1 Ответ

0 голосов
/ 14 января 2019

Вам не нужен пользовательский RecordSeparatorPolicy в вашем случае, потому что когда будет вызван метод isEndOfRecord (чтобы проверить, является ли строка концом записи или нет), весь строка уже была бы загружена в память, что, очевидно, не нужно делать.

Что вам действительно нужно, так это пользовательский считыватель элементов, который считывает элементы в байтах (в соответствии с вашими требованиями) вместо строк.

Примечание: похожий вопрос здесь: Spring Batch обрабатывает одну строку по 10 Гб в отдельные элементы

...