一次运行一个调度程序

时间:2011-09-27 15:24:50

标签: java spring spring-batch

我有两个正在运行调度程序的bean

<bean id="eventService" class="xxx.xxxx.xxxxx.EventSchedulerImpl">
</bean>

<bean id="UpdateService" class="xxx.xxxx.xxxxx.UpdateSchedulerImpl">
</bean>

我想确保只有一个调度程序正在运行 当EventSchedulerImpl正在运行时,UpdateSchedulerImpl不应该在调度程序上也运行“StatefulJob” 那会有用吗?我需要做更多吗?

表明你的想法

1 个答案:

答案 0 :(得分:1)

一种方法是配置一个特殊的任务执行程序,使其在其线程池中只包含一个线程,并配置其队列容量,以便可以保持“暂停”作业。因此,只有一个任务可以一次运行此任务执行器,另一个任务将排队。

但我不喜欢这种方法。拥有单线程任务执行程序似乎是未来问题的一个方法。

我要做的只是编写一个包装服务,按照您需要的顺序调用目标服务。然后安排包装服务。