问题是:我有一个具有多个步骤的Spring Batch作业.基于第一步,我必须决定接下来的步骤.我可以根据作业参数在STEP1-passTasklet中设置状态,以便我可以将Exit状态设置为自定义状态,并在作业定义文件中定义它以转到下一步.
Example
<job id="conditionalStepLogicJob">
<step id="step1">
<tasklet ref="passTasklet"/>
<next on="BABY" to="step2a"/>
<stop on="KID" to="step2b"/>
<next on="*" to="step3"/>
</step>
<step id="step2b">
<tasklet ref="kidTasklet"/>
</step>
<step id="step2a">
<tasklet ref="babyTasklet"/>
</step>
<step id="step3">
<tasklet ref="babykidTasklet"/>
</step>
</job>
Run Code Online (Sandbox Code Playgroud)
我理想地希望在步骤之间使用我自己的EXIT STATUS.我能这样做吗?它不会破坏任何OOTB流量吗?这样做有效吗?
如何保证一个Job在运行时,同时不允许再次运行?
我们有 BJ 需要 1 小时来处理提要和填充临时表。此 BJ 的第一步是清除临时表并开始填充主店面表中的数据。
考虑一个场景,当 BJ 启动时(第一次运行),如果我们再次启动 BJ,它将作为第一步的一部分从临时表中删除内容。
所以请建议我如何保持第二次执行直到第一次执行未完成?