我想每天14:00运行作业。另外,我希望在应用程序启动后运行该作业。这个任务足够长(假设10分钟),如果在13:58启动,我担心会发生什么。我想禁止并发任务执行。
下面的方法会有效吗?
@Scheduled(cron = "0 14 * * *")
public void scheduleTaskUsingCronExpression() {
jobMehod();
}
public synchronized void jobMehod(){
// code wihout creation new threads
}
@EventListener(ContextRefreshedEvent.class)
public void onStartup(){
jobMehod();
}
发布于 2018-08-14 05:13:29
如果使用默认的spring计划程序,则不需要使用synchronized
方法。
它是单线程的,因此一次不会运行多个计划任务。
https://stackoverflow.com/questions/51654996
复制相似问题