我有一个类似MyController.foo()
的方法,我希望每天00:00执行它。
我见过一些使用TimerTask的解决方案,延迟时间为1天,但是一天的更改会带来一些错误。
那么......实现这一目标的最有效方法是什么?
答案 0 :(得分:2)
首先,您需要使用spring boot注释启用计划:
@EnableScheduling
class Application extends GrailsAutoConfiguration {
static void main(String[] args) {
GrailsApp.run(Application, args)
}
}
然后你可以在你的方法上添加@Scheduled注释:
@Scheduled(cron="00 00 * * *")
def foo() {
//do something
}
Cron表达式00 00 * * *
表示每个midnigth都执行。