当使用Spring 3.0功能来注释计划任务时,我想fixedDelay从配置文件中设置as参数,而不是将其硬连接到我的任务类中,就像当前...
@Scheduled(fixedDelay = 5000)
public void readLog() {
...
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,使用Spring表达式语言(SpEL)的方法似乎@Value返回一个String对象,而该对象又无法按fixedDelay参数的要求自动装入长值.
目前我有这个:
@Scheduled(fixedRate=5000)
public void getSchedule(){
System.out.println("in scheduled job");
}
Run Code Online (Sandbox Code Playgroud)
我可以更改它以使用对属性的引用
@Scheduled(fixedRate=${myRate})
public void getSchedule(){
System.out.println("in scheduled job");
}
Run Code Online (Sandbox Code Playgroud)
但是,我需要使用以编程方式获得的值,以便可以在不重新部署应用程序的情况下更改计划.什么是最好的方法?我意识到使用注释可能是不可能的......