Весенний пакетный типовой проект работы - PullRequest
0 голосов
/ 21 марта 2019

У меня проблемы с поиском правильного ответа на этот вопрос.При использовании среды Spring Batch можно ли попытаться решить всю пакетную обработку одним общим заданием?

Например, я пытаюсь обрабатывать разные текстовые файлы (файлы с другой структурой) с одним и тем же заданием.

Моя идея - запустить задание из планировщика, передав емуСтрока с именем файла, который я хочу обработать.Затем я смогу создать экземпляр объекта, относящегося к обрабатываемому файлу, и этот объект будет передаваться от одного шага к другому, и на каждом шаге он сможет отвечать на вопросы, связанные с его разделителями, именами полей,вставить заявление, так далее и так далее.

С другой стороны, я могу написать задание для каждого файла, но много кода будет повторяться.

1 Ответ

1 голос
/ 21 марта 2019

JobStep - это то, что вам может понадобиться.Это особый шаг, который делегирует на работу.Следовательно, вы можете создать «мастер» задание с несколькими подзадачами (иначе говоря, типа JobStep).Очевидно, что каждое подзадача может быть обычным заданием Spring Batch со своими шагами и т. Д. Основным заданием в этом подходе является «одно общее задание», которое вы ищете.

этот объект будетпередается от одного шага к другому и на каждом шаге

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

Надеюсь, это поможет.

...