从工作中开始工作,以便父母的工作不应该等待孩子在春季批次完成?

时间:2014-06-11 07:48:14

标签: spring spring-batch spring-integration spring-batch-admin

我想从主要批处理作业中启动不同的作业。目前我正在使用工作步骤,例如

<job id="importJob">
    <step id="import.importPricesAndQuoteListStep">
        <job ref="importPricesAndQuoteListJob" />
    </step> 
     .....  
     ...... 
</job>

启动子作业importPricesAndQuoteListJob并等待它完成。我不想等待这一步完成。相反,我只是想启动这项工作并继续前进到其他步骤。

可能是Spring批量集成JobLaunchingMessageHandler可以提供帮助,但我不确定如何从父作业为子作业构建作业启动请求?

是否有适用于此的适配器将上述步骤转换为作业启动请求?有什么例子吗?

1 个答案:

答案 0 :(得分:0)

简短的回答是,开箱即用是不可能的。 JobStep就像任何其他步骤一样。因此,它需要在执行下一步之前完成。

话虽这么说,如果你想要并行运行一个有限的作业列表,你可以使用split并行运行步骤。这将允许这些作业并行运行。

除此之外,这些工作之间的关系是什么?这种关系可能会为编制儿童工作提供更好的解决方案。