我有两个配置为cronTriggerBeans的作业。它们被添加到石英SchedulerFactoryBean中。它们在不同的时间运行,但在数据库中修改相同的数据集。在作业运行时间相同的特定情况下会出现问题。在这种情况下,我希望job2等待job2完成。我意识到如果每次都是这种情况,有一种方法可以实现这种情况。但在我的情况下,一个工作每1小时运行一次,另一个每24小时运行一次。因此,当24小时工作运行时,我希望完成每小时的工作。我怎样才能实现它。
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false">
<property name="triggers">
<list>
<ref bean="hourlyJob"/>
<ref bean="twentyFourHourlyJob"/>
</list>
</property>
</bean>
<bean id="hourlyJob" class="org.springframework.scheduling.quartz.CronTriggerBean">
// bean configurations
<bean id="twentyFourHourlyJob" class="org.springframework.scheduling.quartz.CronTriggerBean">
// bean configurations
</bean>
答案 0 :(得分:1)
您可以使用Job Step来配置流程,例如在完成其他方法后运行第二个作业,或者直接从第一个作业从主体运行它。
请看这里:http://docs.spring.io/spring-batch/trunk/reference/html/configureStep.html#external-flows