目前我正在使用 Quartz 并遇到一个问题:我需要以某种顺序运行任务,例如一个接一个。是否可以使用 Quartz 实现它?
问问题
3170 次
2 回答
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();
我相信,如果您尝试用谷歌搜索它,您可以获得更多示例/解释。
至少它给了你一个开始。
祝你好运。
于 2012-12-07T13:03:55.923 回答
-2
对的,这是可能的。我打算建议使用StatefulJob,但事实证明它同时被弃用了。他们说要改用DisallowConcurrentExecution
注释,因此您可以使用它。两者都阻止在当前作业完成之前执行第二个作业。第二个作业的执行会延迟到第一个作业完成。第一个完成后,延迟的就开始了。
于 2012-12-07T10:48:35.950 回答