从数据库设置Spring @Scheduled的配置值

时间:2018-01-25 10:37:41

标签: spring spring-mvc spring-scheduled

某些方法已使用@Scheduled(fixedDelay=/.../)注释,如何从数据库中获取该值? 已经有了需要的服务和存储库,只是不知道如何在这里应用该值。

1 个答案:

答案 0 :(得分:3)

您可以在项目中的其他位置的@Configuration类中定义一个bean,该类从数据库中读取延迟率:

@Bean
public Long myFixedDelay() {
   return myRepository.myDatabaseCallToGetDelay();
}

然后,您可以使用Spring EL在@Scheduled注释中引用此bean:

@Scheduled(fixedDelayString = "#{@myFixedDelay}")