相关疑难解决方法(0)

如何用Spring 3.0表达式语言参数化@Scheduled(fixedDelay)?

当使用Spring 3.0功能来注释计划任务时,我想fixedDelay从配置文件中设置as参数,而不是将其硬连接到我的任务类中,就像当前...

@Scheduled(fixedDelay = 5000)
public void readLog() {
        ...
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,使用Spring表达式语言(SpEL)的方法似乎@Value返回一个String对象,而该对象又无法按fixedDelay参数的要求自动装入长值.

java configuration spring annotations scheduling

116
推荐指数
4
解决办法
8万
查看次数

以编程方式使用Spring调度作业(动态设置fixedRate)

目前我有这个:

@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)

但是,我需要使用以编程方式获得的值,以便可以在不重新部署应用程序的情况下更改计划.什么是最好的方法?我意识到使用注释可能是不可能的......

java spring scheduled-tasks spring-annotations

63
推荐指数
5
解决办法
7万
查看次数