Как определить шаблоны для весенних пакетных заданий?

Я использую Spring Batch 2.1.5. У меня много работ, которые очень похожи друг на друга, и я ищу способ использовать XML меньшего размера в качестве шаблона вакансии.

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

Я думал о 4 подходах и 3 из них не работают ...

1 - Использование постпроцессора для добавления общих компонентов и атрибутов в качестве значений по умолчанию невозможно, поскольку класс Spring Batch JobParserJobFactoryBean не является открытым классом.

2 - Добавление расширения XML кажется неправильным, потому что я не добавляю никаких пользовательских тегов в файл XML.

3 - Используя PropertyOverrideConfigurer, я могу поместить значения по умолчанию в свойства, но я должен определить эти значения для каждого bean-компонента. Так что у меня будет много повторяющихся значений, и я перенесу проблему только в свойства.

4 - Использование какого-то кастомного фабричного бина. Кажется, это единственный выбор, но я точно не знаю, как вставить его в существующий код.

Кто-нибудь пытался это сделать? Может кто-нибудь дать советы или порекомендовать ресурсы, как это сделать?


person foundationer    schedule 20.05.2011    source источник


Ответы (1)


Spring Batch предоставляет возможность определять абстрактные задания (и шаги и т. Д.) Для наследования. Дополнительную информацию см. В справочном руководстве. Используя это, вы сможете добиться именно того, что ищете.

person Joshua Moore    schedule 31.08.2011