Spring @ Запланированные подробности cron из файла свойств - Исключение
Я пытался определить детали cron в моем весеннем методе @Scheduled
@Service
@PropertySource("classpath:application.properties")
public class CacheRefreshService {
@Scheduled(cron = "${api.refresh.cron}")
public void refreshJob() throws Exception {
LOGGER.info("Started Refresh");
//do something
}
}
И в моем приложении. Свойства
#Refresh
api.refresh.cron =0 29 11 * * ?
Когда я определяю детали cron вместе с @Scheduled, он работает нормально. Но когда я делаю это, он не может прочитать значение из файла свойств, и появляется ошибка ниже.
Caused by: java.lang.IllegalStateException: Encountered invalid @Scheduled method 'refreshJob': Cron expression must consist of 6 fields (found 1 in "${api.refresh.cron}")
Любые предложения, пожалуйста?
1 ответ
Добавление ниже в мой ApplicationContext решило проблему.
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
factoryBean.setCronExpression("0 0/1 * 1/1 *? *"); Вы должны установить Cron Expresssion bcz в классе BeanFactory, setCronExpression является обязательным