Spring Batch — программа чтения файлов EDI

Я хочу прочитать файлы EDI и преобразовать их в POJO в Spring Batch. Я не смог найти ни одного примера такой работы вместе с Spring Batch.

Мои файлы Edi могут содержать до сотен сегментов, которые следует сопоставить со списком объектов.

Я знаю, что могу использовать структуру smooks для преобразования файла EDI в pojo, однако он преобразует файл одним куском. Мое приложение не будет читать файл несколькими частями, как сейчас для xml, json и т. д. Таким образом, основная функция Spring Batch будет потеряна.

Есть ли какой-нибудь умный способ сделать это?

0
0
124
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я не уверен, что понимаю, но в Smooks должно быть возможно сделать то, о чем вы просите. Smooks может принимать файл EDI частями и привязывать каждый фрагмент к POJO или java.util.Map (т. е. к виртуальной объектной модели). Затем вы можете выбрать:

  1. Соберите элементы в список или
  2. Обрабатывайте каждый элемент сразу после его создания с помощью org.smooks.api.bean.lifecycle.BeanContextLifecycleObserver и удаляйте его после обработки в целях экономии памяти.

В разделе Основы Smooks представлен хороший обзор фреймворка. Также доступен пример , демонстрирующий, как привязать EDI к POJO .

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