目前我正在使用Quartz并遇到了一个问题:我需要按某种顺序运行任务,例如逐一。是否可以使用Quartz实现它?
答案 0 :(得分:2)
您需要的是任务/工作链功能。
你可以自己实现它,也可以依靠提供JobChainingJobListener
的石英简单的例子:
chainListener = new JobChainingJobListener( "myChainListener" );
chainListener.addJobChainLink( job1.getKey(), job2.getKey() );
sched.scheduleJob( job1, trigger );
sched.addJob( job2, true );
sched.addGlobalJobListener( chainListener );
sched.start();
如果你试图谷歌它,你可以得到更多的例子/解释,我相信。
至少它会给你一个开始。
祝你好运。答案 1 :(得分:-2)
是的,这是可能的。我打算建议使用StatefulJob但事实证明它同时被弃用了。他们说使用DisallowConcurrentExecution
注释代替,所以你可以使用它。
两者都阻止在当前作业完成之前执行第二个作业。第二个作业的执行被延迟,直到第一个作业完成。在第一个完成之后,延迟的一个开始。