在 spring 4.1 应用程序中使用 @Scheduled 中的参数时出错
Error while using parameter in @Scheduled in a spring 4.1 application
我有Spring 4.1 Application
。我正在尝试根据 属性 文件中的值进行安排。我读过这个post。但是我不想在@Scheduled
里面使用下面的EL方式
@Scheduled(fixedDelayString = "${my.fixed.delay.prop}")
public void readLog() {
...
}
这是我的class。
public class MyService {
@Value("${timerInMilliSeconds: 60000}")
private long timerinMilliSeconds;
public myService(){
}
@Scheduled(fixedRate = timerinMilliSeconds)
public void myTimer() {
//do stuff
}
}
我收到这个错误。
The value for annotation attribute Scheduled.fixedRate must be a constant
expression
你不能那样做;这是注释工作方式的限制 - 注释中的字符串必须是常量(它们存储在 class 中并且每个实例都不能不同)。
顺便说一句 ${my.fixed.delay.prop}
不是 "EL",它是一个 属性 占位符。
我有Spring 4.1 Application
。我正在尝试根据 属性 文件中的值进行安排。我读过这个post。但是我不想在@Scheduled
@Scheduled(fixedDelayString = "${my.fixed.delay.prop}")
public void readLog() {
...
}
这是我的class。
public class MyService {
@Value("${timerInMilliSeconds: 60000}")
private long timerinMilliSeconds;
public myService(){
}
@Scheduled(fixedRate = timerinMilliSeconds)
public void myTimer() {
//do stuff
}
}
我收到这个错误。
The value for annotation attribute Scheduled.fixedRate must be a constant
expression
你不能那样做;这是注释工作方式的限制 - 注释中的字符串必须是常量(它们存储在 class 中并且每个实例都不能不同)。
顺便说一句 ${my.fixed.delay.prop}
不是 "EL",它是一个 属性 占位符。