1

目前我正在使用 Quartz 并遇到一个问题:我需要以某种顺序运行任务,例如一个接一个。是否可以使用 Quartz 实现它?

4

2 回答 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 回答