有没有办法让@Scheduled石英作为底层调度程序?
我能想到的两件事,但都需要一些工作:
BeanPostProcessor将解析@Scheduled注释并注册石英作业的自定义TaskScheduler委托给石英Scheduler.问题是:是否已经针对上述两个选项编写了一些内容,还有其他选择吗?
我创建了一个像这样的抽象类:
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())
}
}
Run Code Online (Sandbox Code Playgroud)
我的目标是不要重复自己必须@Scheduled在所有子类中实现该方法。该cron()方法返回特定子类的 cron 表达式。但是我没有找到将 cron 值传递给注释的方法。也许我只是以错误的方式看待这个问题。