springboot定时任务

springboot里作一个定时任务特别的简单spring

1:在启动文件里开启任务 @EnableSchedulingspringboot

2:在方法上 设置定时时间@Scheduled(cron = "0/10 * * * * ?")并发

3:这样就会每十秒执行一次异步

默认的是单线程,就是一个任务没有执行完毕,下一个任务不会开始。线程

举个栗子:项目启动后等待10秒,定时任务开始执行,而后第二个10秒,而后第三个10秒。。。blog

若是第一个10秒 任务里的逻辑没有执行完毕,那么第二次进任务就是下一个定时任务时间,如:第一个定时任务执行15秒,那么定时任务

第二次进任务是在第30秒方法

 

4:也能够加上异步 @Asyncim

这样的定时任务,每到一个执行间隔就会执行任务,不会去管上一次任务是否已经执行完毕d3

特别注意:根据业务逻辑须要 去判断要不要添加异步。在咱们项目中,定时去更新库存信息,由于并发了 致使库存屡次增减,

即便库存表有乐观锁,也没能避免这个错误。

相关文章
相关标签/搜索