首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在启动时运行方法,并根据cron表达式进行调度,避免并行执行

如何在启动时运行方法,并根据cron表达式进行调度,避免并行执行
EN

Stack Overflow用户
提问于 2018-08-02 21:32:25
回答 1查看 922关注 0票数 2

我想每天14:00运行作业。另外,我希望在应用程序启动后运行该作业。这个任务足够长(假设10分钟),如果在13:58启动,我担心会发生什么。我想禁止并发任务执行。

下面的方法会有效吗?

代码语言:javascript
复制
@Scheduled(cron = "0 14 * * *")
public void scheduleTaskUsingCronExpression() {
  jobMehod();        
}
public synchronized void jobMehod(){
  // code wihout creation new threads
}
@EventListener(ContextRefreshedEvent.class)
public void onStartup(){
    jobMehod();
}
EN

回答 1

Stack Overflow用户

发布于 2018-08-14 05:13:29

如果使用默认的spring计划程序,则不需要使用synchronized方法。

它是单线程的,因此一次不会运行多个计划任务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51654996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档