我创建了一个这样的抽象类:
abstract class ScheduledProcess {
abstract List<String> fetchNewContent()
abstract List<String> cron()
//This SPeL doesn't work just stating what kind of expression I'm looking for
@Scheduled(cron='#{this.cron()}')
void persistContent(){
doSomeStuffWithContent(fetchNewContent())
}
}
我的目标是不要重复自己必须在所有子类中实现@Scheduled
方法。 cron()
方法返回特定的子类cron表达式。但是,我没有找到一种方法来传递注释的cron值。也许我只是以错误的方式看待这个问题。
答案 0 :(得分:1)
我认为现在可以(Spring 4.3.0)你可以在问题中看到它。
https://jira.spring.io/browse/SPR-13625
如果您使用的是另一个Spring版本,则可以编写自己的beanpostprocessor。你可以在量子这里给出的答案中看到一个例子
答案 1 :(得分:0)
您不能在那里使用SpEL,只能使用属性占位符${...}
。