Существуют ли какие-либо руководящие принципы / рекомендации для структуры проекта Spring-Batch - PullRequest
1 голос
/ 18 октября 2019

Я собираюсь начать новый проект Spring-Batch, мне нужны некоторые рекомендации по структурированию моего проекта. Вот несколько примеров, которые я мог бы придумать:

  1. Держите все устройства чтения, обработки и записи вместе.

    Устройство чтения -> Шаг 1, Шаг 2 Процессор -> Шаг 1, Шаг 2Writer -> Шаг 1, Шаг 2

  2. Разделите на шаги и держите Reader, Processor и Writer вместе для каждого шага

    Шаг 1 -> Reader, Processor и Writer Step2 -> Устройство чтения, обработки и записи

Не могли бы вы предложить наилучшую возможную структуру?

Ответы [ 2 ]

1 голос
/ 18 октября 2019

Я недавно сделал мой: enter image description here 1) Конфигурация сверху содержит общую конфигурацию для всех заданий, а также DataSource. 2) Бегун должен запустить все задания. 3) SupplierReminder - это задание, которое содержит собственный читатель, преобразователь, конфигурацию, модель, процессор, планировщик и модуль записи.

когда у вас есть другое задание, создайте новый пакет, структура которого аналогична шагу 3

0 голосов
/ 21 октября 2019

Это зависит от того, как вы хотите структурировать вашу систему: по элементу или по «слою» .

Нет конкретных рекомендаций, так как это зависит от варианта использования, но здесьпара соображений, характерных для пакетных приложений (Spring):

  • Устройства чтения / записи образуют библиотеку повторно используемых компонентов, поэтому я бы поместил их в отдельные пакеты и (повторно) использовал их в шагах, которые требуютих.
  • Слушатели могут также относиться к той же категории, что и читатели / писатели
  • Некоторые шаги также можно использовать повторно (общие задачи, такие как очистка каталога или загрузка файла), поэтому шаги можно рассматривать как компоненты многократного использованияа также.

Наконец, задания - это то, где вам нужно найти наилучший способ структурировать / упаковать их (банку за работу или несколько работ в одной банке и т. д.).

...