【问题标题】:Setting value for config of Spring @Scheduled from database [duplicate]从数据库中设置 Spring @Scheduled 的配置值[重复]
【发布时间】:2018-07-04 13:57:00
【问题描述】:

有些方法已经用@Scheduled(fixedDelay=/.../)注解了,我怎样才能从数据库中得到那个值?
已经有需要的服务和存储库,只是不确定如何在此处应用该值。

【问题讨论】:

  • 可以,试试这个方法,谢谢!

标签: spring spring-mvc spring-scheduled


【解决方案1】:

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

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

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

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

【讨论】:

  • 嗯,奇怪。我不能这样称呼它,它要求值是(长)
  • 哦,我意识到我犯了错误。为此,您需要使用fixedDelayString 而不是fixedDelay。我会更新我的答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-24
  • 1970-01-01
  • 1970-01-01
  • 2019-03-10
  • 1970-01-01
相关资源
最近更新 更多