Есть ли способ избежать обработки одного и того же файла дважды с помощью Spring Batch? - PullRequest
0 голосов
/ 23 апреля 2020

Я работаю над 3-х шаговым проектом Spring Batch. Во-первых, он загружает необходимые текстовые файлы с ftp в локальный, затем обрабатывает его и, наконец, удаляет файлы в локальном каталоге каждые 10 минут. И каждые 10 минут на FTP загружаются новые файлы. Что делать, если в FTP возникают проблемы, и он не загружает новые файлы? Затем проект Spring Batch скачает тот же файл и обработает его снова. Поэтому мой вопрос заключается в том, как можно избежать, чтобы Spring Batch обрабатывал один и тот же файл дважды?

Редактировать: я использовал общую библиотеку Apache для загрузки файлов с FTP. И я использую MultiResourceItemReader для извлечения 2 текстовых файлов при каждом запуске.

1 Ответ

0 голосов
/ 23 апреля 2020

Я бы использовал имя файла в качестве параметра задания. Это создаст экземпляр задания для каждого файла.

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

...