我已经开发了一份我想要运行的工作,每5分钟就会说一次,但在某些情况下,工作完成时间可能会超过5分钟。
我正在使用quartz调度程序来使用cron表达式来安排我的工作。有没有办法告诉石英调度员保持下一轮工作,直到第一个工作完成?
我正在寻找类似于 -
的东西private static final ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
executor.scheduledWithFixedDelay(..);
答案 0 :(得分:4)
使用StatefulJob。来自文档:
不允许有状态的工作 并发执行,这意味着新的 在之前发生的触发器 完成execute(xx)方法 将被推迟。
答案 1 :(得分:0)