java - Spring Quartz Scheduler - 在其他作业完成后运行作业

标签 java spring quartz-scheduler crontrigger

我有两个作业配置为 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/

相关文章:

java - 有没有办法从 jtable 下载选定的行?

Spring crud 存储库 - save() 尝试在子属性中插入多对一关系的新行

java - 服务层和 Controller : who takes care of what?

java - 使用注解在 Spring Hibernate 中编写更少的 DAO

java - schtasks : ERROR: Incorrect Start Date

java - GWT 发送到远程服务器?

java - 将句子中用破折号分隔的三个或多个数字之间的破折号字符替换为空格

java - 在 JFrame 之外的屏幕上的任何位置创建点/像素

java - 根据某些事件启动 Spring 调度

java - Quartz Spring CronTrigger 触发的次数比配置的多