如何使JobDetailBean非并发运行?

时间:2012-10-19 05:58:17

标签: spring quartz-scheduler

我正在使用Quartz Scheduler运行一些预定作业。我的应用程序中的所有作业都是 JobDetailBean 作业。

我知道使用MethodInvokingJobDetailFactoryBean,我们可以像这样非并发地创建一个作业:

<property name="concurrent"><value>false</value></property>

我想知道如何使JobDetailBean作业非并发。 JobDetailBean 作业默认同时运行。

要求是:jobA需要每5分钟运行一次,但前提是它的前一个实例已经完成。

谢谢,

Shikha

1 个答案:

答案 0 :(得分:4)

您的工作类需要实现StatefulJob,或者,如果您使用的是Quartz 2.x,请使用@DisallowConcurrentExecution进行注释。

这是Quartz中可以控制并发执行的方式,特别是MethodInvokingJobDetailFactoryBean只使用不同的作业类,具体取决于concurrent的值。