Контентная маршрутизация и пакетная обработка Java JSR 352 (jBeret, Spring Batch)?

Контентная маршрутизация и пакетная обработка Java JSR 352 (jBeret, Spring Batch)?

Постарались реализовать несколько простых "реальных" пакетных заданий, потому что "привет" выглядел многообещающе. Кажется, у меня нет правильной концепции, но фактический шов релиза довольно бесполезен для примеров из "реального мира".

- read 5mio lines (ItemReader works fine)
- write to three different filed/resources based on the content of the line read

"Интуитивным" способом было бы:

  • настроить три писателя (например, ItemWriterA, ItemWriterB, ItemWriterC). НО: только один писатель возможен кусками - почему это ограничение?

  • добавить решение и использовать писателя на основе вашего решения. НО: решения не могут быть включены в cunks - почему это ограничение?

Какой правильный подход делает это с Java Batch JSR 352? Любые намеки приветствуются.

Пакет Java - как может быть

1 ответ

Решение

Вам нужно будет реализовать логику в одном ItemWriter. Специфицированная структура не поможет вам здесь. SpringBatch имеет CompositeItemWriter, который помогает в этом случае использования, хотя он специфичен для SpringBatch и не будет работать с другими реализациями JSR 352, такими как Liberty (или, насколько я знаю, JBeret).

Одним из оснований для того, чтобы не включать "детей-писателей" в спецификацию, была, как и в вашем случае, идея, что будет логика, специфичная для приложения, для принятия решения писать (или нет) детям. Но это область, где JSR 352 может использовать больше образцов и, возможно, усовершенствовать саму спецификацию.

Это не очень хороший ответ, но я не хотел оставлять вопрос без ответа.

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