#spring-boot #spring-batch
#весенняя загрузка #пакетное обновление spring
Вопрос:
У меня есть задание, которое обрабатывает все csv-файлы в папке и перемещает их в другое место.
Я запланировал (@Scheduled) выполнение этого задания в течение определенного интервала времени, и я заметил, что список файлов не обновляется.
Вот конфигурация, используемая для сопоставления всех файлов в папке:
@Value("file:${app.hotfolder_path}${app.filename_regex}")
private Resource[] inputResources;
Мне нужно обновлять это свойство при каждом выполнении задания, потому что список файлов меняется со временем (один раз в день).
Есть ли простой способ добиться этого?
Заранее благодарю вас.
Ответ №1:
Похоже, что эти ресурсы вводятся в одноэлементный компонент, следовательно, разрешенное значение останется неизменным в течение всего срока службы контекста приложения.
Поскольку ресурсы перемещаются при каждом запуске, они должны разрешаться внутри метода scheduled (пересчитываться каждый раз), а не как переменная экземпляра.