Как определить шаблоны для заданий Spring Batch? - PullRequest
3 голосов
/ 20 мая 2011

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

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

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

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

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

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

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

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

1 Ответ

0 голосов
/ 31 августа 2011

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

...