我可以将两个Spring批量作业链接在一起吗?

时间:2018-05-02 16:48:28

标签: spring spring-batch

我们正在使用带有Spring Framework 4的Spring Batch 3.0.8。我们已经定义了许多要快速连续运行的作业: Job1从远程源加载参考数据,和 Job2根据Job1中加载的参考数据处理CSV输入文件。

通常我们会在操作团队的控制下分别运行Job1和Job2,但是对于自动测试,我们希望将Job1和Job2链接在一起,这样一旦Job1完成处理,它将自动启动Job2。

我们怎么能这样做?

2 个答案:

答案 0 :(得分:0)

实现这一目标的最简单方法是通过Spring Batch Job。您可以使用“作业”步骤启动一个作业。完成后,您可以使用另一个来启动第二个。其他机制如使用侦听器可以工作,但在您描述的用例中,我认为这是最有意义的。

答案 1 :(得分:0)

如果您可以添加新工作,还可以查看JobStep 来自它的Javadoc:

  

委托Job完成工作的步骤。这是一个很棒的工具   用于管理作业之间的依赖关系,以及模块化复杂   将逻辑分成可以孤立测试的东西。工作是   使用可从步骤中提取的参数执行   执行,因此这一步也可以有效地用作工人   并行或分区执行。