我有两个作业配置为 cronTriggerBeans。它们被添加到一个quartz 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>
最佳答案
您可以使用Job Step配置流程,例如在完成其他方法后运行第二个作业或直接从第一个作业的主体运行它。
看这里:http://docs.spring.io/spring-batch/trunk/reference/html/configureStep.html#external-flows
关于java - Spring Quartz Scheduler - 在其他作业完成后运行作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34986602/