Весеннее пакетное обновление ресурсов при каждом выполнении задания

#spring-boot #spring-batch

#весенняя загрузка #пакетное обновление spring

Вопрос:

У меня есть задание, которое обрабатывает все csv-файлы в папке и перемещает их в другое место.

Я запланировал (@Scheduled) выполнение этого задания в течение определенного интервала времени, и я заметил, что список файлов не обновляется.

Вот конфигурация, используемая для сопоставления всех файлов в папке:

 @Value("file:${app.hotfolder_path}${app.filename_regex}")
private Resource[] inputResources;
  

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

Ответ №1:

Похоже, что эти ресурсы вводятся в одноэлементный компонент, следовательно, разрешенное значение останется неизменным в течение всего срока службы контекста приложения.

Поскольку ресурсы перемещаются при каждом запуске, они должны разрешаться внутри метода scheduled (пересчитываться каждый раз), а не как переменная экземпляра.