Spring Boot在这里。我有以下计划任务:
@Component
public class AdminWatchdog {
@Autowired
private EmailService emailService;
// Ctors, getters & setters here
@Scheduled(cron = "'* * */12 * * *")
public void runReports() {
// Doesn't matter what it does, really
}
}
当我运行它时,它似乎在每天的第12小时的整个持续时间内每分钟或每秒(无法根据日志判断)发射!
我只希望这个任务每天中午(下午12点)运行一次。 Spring cron配置不正确还是我的应用程序中还有其他东西?
你的cron是不正确的。为了每天中午每天都在工作,请使用此功能
"0 0 12 * * ?"
如果你理解每个字符代表什么,表达是非常自我解释的
0 0 12 * * ?
<second> <minute> <hour> <day-of-month> <month> <day-of-week>
供你参考。您可以使用像http://www.cronmaker.com/这样的工具来设计您的cron