@Scheduled(fixedDelay = 6000)
private void myScheduledMethod(){
//do something
}
註釋的一些方法我也有一組的,我配置環境中的特定值的屬性文件。出於測試目的,我希望延遲的值可以配置,理想情況下通過屬性文件中的屬性。
由於fixedDelay
的值必須是一個常量,我正在尋找一種方法來從屬性文件中獲取此集合,但尚未找到一種方法來完成此操作。
@Scheduled(fixedDelay = 6000)
private void myScheduledMethod(){
//do something
}
註釋的一些方法我也有一組的,我配置環境中的特定值的屬性文件。出於測試目的,我希望延遲的值可以配置,理想情況下通過屬性文件中的屬性。
由於fixedDelay
的值必須是一個常量,我正在尋找一種方法來從屬性文件中獲取此集合,但尚未找到一種方法來完成此操作。
我就死在了同樣的問題,但解決它的最好方法現在是:
@Scheduled(fixedDelayString = "${my.delay.property}")
public void myScheduledMethod(){
// do something
}
這將是很好的選擇,但我認爲它不存在(註釋是類級別的,而值會在創建實例時注入)。
爲了使這個可配置使用xml命名空間<task:
。就像從spring docs的例子:
<task:scheduled-tasks scheduler="myScheduler">
<task:scheduled ref="someObject" method="someMethod"
fixed-delay="${configuredDelay}"/>
</task:scheduled-tasks>