quartz实现定时任务-同步执行

quartz做定时任务太常见了,最近遇到一个业务场景,要求在前一次任务没有结束的情况下,不触发下次任务,计算超时也不触发。先在网上找了一波发现没有真正说到点子上的,就在这记录下我的经验,备忘并抛砖引玉。

言归正传,quartz实现定时任务需要用到三个接口Scheduler-Trigger-JobDetail,于是就一个个找这仨的接口说明,Scheduler没有收获,Trigger也没有收获,JobDetail看到个有关的方法isConcurrentExecutionDisallowed(),发现曙光,八成就在这个JobDetail上做文章,然后看了他的实现类JobDetailImpl,发现quartz原始是通过判断job实现类是否加了注解来确定是否进行同步触发任务,就是JobBuilder.newJob()方法的传参,传入的是个类,只要在这个类上加上注解“@DisallowedConcurrentExecution”,就可以实现同步调用任务。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值