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

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

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

我们怎么做?

回答(2)

2 years ago

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

2 years ago

如果您可以添加新作业,还可以查看JobStep .
从它的Javadoc:

委托Job完成工作的步骤 . 这是一个很好的工具,用于管理作业之间的依赖关系,还可以将复杂的步骤逻辑模块化为可单独测试的内容 . 使用可从步骤执行中提取的参数执行作业,因此该步骤也可以有用地用作并行或分区执行中的工作程序 .