Я работаю в устаревшем программном обеспечении, в котором большая часть конфигурации извлечена из application.properties
. Она находится в файле с именем custom.properties
, который будет считан в компонент конфигурации, объявленный таким образом.
@Configuration
@ConfigurationProperties(locations = "classpath:custom.properties", ignoreUnknownFields = true, prefix = "custom")
public class CustomProperties {
...
}
Это приложение имеет некоторые запланированные задачи, которые, как было объявлено, работают с фиксированным интервалом и временем. @Scheduled(cron = "0 0 16 * * 3")
До сих пор все отлично работает. Недавно меня попросили сделать это cronjob в настраиваемое время. Поэтому я добавил еще одно свойство к custom.properties
и атрибут к CustomProperties
(включая методы получения и установки). Затем я изменил запланированную аннотацию, чтобы она выглядела следующим образом. @Scheduled(cron = "${@customProperties.cronJob1Schedule}")
Когда я запускаю приложение, я получаю следующее исключение:
java.lang.IllegalStateException: Encountered invalid @Scheduled method 'cronJob1': Could not resolve placeholder '@customProperties.cronJob1Schedule' in string value "${@bwvProperties.cronJob1Schedule}"
at org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.processScheduled(ScheduledAnnotationBeanPostProcessor.java:406)
at org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.postProcessAfterInitialization(ScheduledAnnotationBeanPostProcessor.java:282)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:422)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1583)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
Кто-нибудь имел эту проблему раньше? Почему я не могу получить доступ к компоненту конфигурации в SpEL?