Java 编写批处理作业流的替代方法

Java 编写批处理作业流的替代方法,java,spring-batch,Java,Spring Batch,我刚刚开始用SpringBatch开发,我偶然发现了一些让我觉得痒的东西 示例场景 例如,假设您有4个步骤要运行step1、step2、step3和step4,它们应按以下方式运行: 步骤1开始 如果步骤1芬兰人的exitstatus已完成=>步骤2已启动 如果步骤1 finnishes的exitstatus失败=>则启动步骤3 如果step1 finnishes的exitstatus未知=>作业将结束 如果运行步骤2 如果第2步芬兰人退出状态完成=>第4步开始 如果exitstatus的步骤2

我刚刚开始用SpringBatch开发,我偶然发现了一些让我觉得痒的东西

示例场景 例如,假设您有4个步骤要运行step1、step2、step3和step4,它们应按以下方式运行:

步骤1开始 如果步骤1芬兰人的exitstatus已完成=>步骤2已启动 如果步骤1 finnishes的exitstatus失败=>则启动步骤3 如果step1 finnishes的exitstatus未知=>作业将结束 如果运行步骤2 如果第2步芬兰人退出状态完成=>第4步开始 如果exitstatus的步骤2 finnishes失败=>作业将结束 工作结束了 根据文档对示例1进行编码: 因此,根据文档和示例,我看到场景可以这样编写:

@豆名=一些豆 公共作业引发异常{ 返回jobBuilderFactory.getSOME\u BEAN .incrementernew RunIdIncrementer .flowstep1.onExitStatus.COMPLETED.getExitCode.tostep2 .从步骤1.onExitStatus.FAILED.getExitCode.tostep3 .fromstep1.onExitStatus.UNKNOWN.getExitCode.end .从步骤2.onExitStatus.COMPLETED.getExitCode.tostep4 .fromstep2.onExitStatus.FAILED.getExitCode.end 终止 建筑 } 上面的代码让我觉得好笑,因为第1步和第2步被多次提到

代码示例2我自己的方式 现在我想知道是否有可能写同样的东西,但这样做:

@豆名=一些豆 公共作业引发异常{ 返回jobBuilderFactory.getSOME\u BEAN .incrementernew RunIdIncrementer .流程步骤1 .onExitStatus.COMPLETED.getExitCode.tostep2 .onExitStatus.FAILED.getExitCode.tostep3 .onExitStatus.UNKNOWN.getExitCode.end .从步骤2开始 .onExitStatus.COMPLETED.getExitCode.tostep4 .onExitStatus.FAILED.getExitCode.end 终止 建筑 } 在我看来,这样代码的可读性增加了很多

我所测试的,似乎是有效的,但我很惊讶,我找不到像这样的例子

所以我的问题是: 是否可以像我那样编写批处理作业流? 若否,原因为何? 如果是的话,你有没有理由不这样做? 笔记
正如我所说,我是新手,所以如果我的代码中有奇怪/错误的地方,请指出并解释原因。

我认为原始示例更详细。这两种方法对您都有效吗?是的,两种方法对我都有效,但我想知道为什么我没有找到与我的示例类似的示例。有什么问题吗?