Пользовательский разделитель Spring Batch для входного файла - PullRequest
1 голос
/ 24 августа 2011

Я пытаюсь разбить плоский входной файл, содержащий ; разделенных элементов.первый элемент в строке указывает категорию, и я хотел бы разделить на эту категорию, чтобы для каждой категории был создан раздел, который будет обрабатываться выделенным потоком.Но я озадачен тем, как я могу реализовать эту логику разделения в пользовательском Partitioner.Кажется, что разделение происходит перед этапом, ориентированным на чанк, то есть перед чтением и записью, поэтому мне кажется, что мне нужно построчно прочитать файл в пользовательском разделителе, получить строку категории из строки, собрать строки с равными категориями и создатьExecutionContext для каждой из этих коллекций?

Я смотрю в правильном направлении?Может ли кто-нибудь со стажем привести небольшой пример использования файла (может быть, псевдокод)?

Ответы [ 2 ]

0 голосов
/ 30 октября 2015

Вы можете найти некоторые пользовательские реализации секционера в этих ссылках здесь и здесь , чтобы получить общее представление. Но я думаю, что вы не можете избежать создания ExecutionContext для каждого раздела.

0 голосов
/ 08 августа 2012

Я только что задал этот вопрос сам.Я думаю, что пользовательский Partitioner должен быть в паре с пользовательским ItemReader.ItemReader инициализируется данными с шага подчиненного устройства (помещенного туда Разделителем) и, следовательно, считывает только те элементы, которые подходят для этого шага.

...