我有几个用
注释的方法@Scheduled(fixedDelay = 6000)
private void myScheduledMethod(){
//do something
}
我还有一组属性文件,我在其中配置特定于环境的值。出于测试目的,我希望可以配置延迟的值,理想情况是通过属性文件中的属性。
由于fixedDelay
的值必须是常量,我正在寻找一种从属性文件中获取此集的方法,但还没有找到方法。
答案 0 :(得分:6)
我遇到了同样的问题,但现在解决这个问题的最佳方法是:
@Scheduled(fixedDelayString = "${my.delay.property}")
public void myScheduledMethod(){
// do something
}
答案 1 :(得分:5)
拥有此选项会很好,但我认为它不存在(注释是类级别的,而在创建实例时会注入值)。
为了使这个可配置使用xml命名空间<task:
。与spring docs:
<task:scheduled-tasks scheduler="myScheduler">
<task:scheduled ref="someObject" method="someMethod"
fixed-delay="${configuredDelay}"/>
</task:scheduled-tasks>