如何顺序运行三个弹簧批处理作业 我创建了三个批处理作业和一个cron触发器表达式。我需要在第一批作业成功完成第二批作业然后第三批作业后顺序运行三个作业...
例如:第一批作业将输入第二个,第二个atch作业将输入第三个,然后第三个将处理它...
答案 0 :(得分:0)
有关顺序执行,请参阅§5.3.1 Sequential Flow:
<job id="job">
<step id="stepA" parent="s1" next="stepB" />
<step id="stepB" parent="s2" next="stepC"/>
<step id="stepC" parent="s3" />
</job>
每个步骤的输出应该是文件或DB记录。在这种情况下,Spring批处理具有从中断(失败)步骤重启作业执行的能力(另请参阅§5.1.4.2 Restarting a completed step)。可以通过ExecutionContext
进行跨步骤沟通(请参阅StepExecution
和StepExecutionListener
)
如果您不想转储中间结果,则无需执行顺序步骤:您只需将一个处理器的输出提供给另一个处理器。