Динамическая обработка нескольких пакетных файлов и создание соответствующих выходных файлов с помощью Spring Batch - PullRequest
1 голос
/ 03 ноября 2010

Я недавно начал изучать Spring Batch, чтобы использовать некоторые из его более продвинутых функций, таких как асинхронная пакетная обработка, остановка заданий и планирование, чтобы заменить некоторые существующие функции пакетной обработки и реализовать новые функции пакетной обработки.Прямо сейчас я пытаюсь понять, как динамически обрабатывать несколько пакетных файлов и генерировать файл «квитанции» для каждого входного файла, и меня смущают некоторые конструктивные решения архитекторов Spring Batch.Похоже, что для того, чтобы обработать простой плоский CSV-файл и сгенерировать вывод, мне нужно будет вручную взломать bean-компоненты в моем ApplicationContext и вручную установить их свойства «ресурса» во время выполнения, чтобы достичь того, что я хочу с помощьюFlatFileItemReader и FlatFileItemWriter.Это не является ни безопасным, ни хорошей практикой для чего-то, что якобы является многопоточной, высокопроизводительной средой пакетной обработки.Я что-то пропустил?

Ответы [ 2 ]

0 голосов
/ 02 сентября 2011

Как оказалось, я неправильно понял некоторые документы.Spring Batch представляет новую область действия bean-компонента «step» и использует его для создания новых bean-компонентов для каждого шага в пакетном потоке на основе bean-компонента с именем, указанным в конфигурации для читателей и авторов.Затем он динамически настраивает их с помощью Spring's EL.Что касается запуска нескольких пакетов, я просто закончил настройку определения одного пакета, а затем запихнул обработку нескольких пакетов в код.

0 голосов
/ 29 декабря 2010

Похоже, вы могли бы использовать MultiResourceItemReader для указания нескольких ресурсов и установить FlatFileItemReader в качестве MultiResourceItemReaders делегата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...