The following design flaw occurred in Spring Batch.
- The step must have the Next attribute, if this is not the last step or the last step of the separation stream.
- The decision block must handle all cases returned by the Decision.
Because of this, in Split Flow, where in the last step there will be no Next attribute, if there is a Decision protecting it, then it should have the Next attribute. Therefore, it should not have this attribute, but it also needs it. Catch 22.
Example:
<split id="split01">
<flow>
<step id="step1" next="step02">
</step>
<step id="step02">
</step>
</flow>
<flow>
<step id="step03">
</step>
<decision id="decideToRunStep04" decider="isStepNeededDecider" >
<next on="RUN" to="step04"/>
</decision>
<step id="step04">
</step>
</flow>
</split>
<step id="step05" >
</step>
This is similar to what the Spring guys would think, so it's curious what the right, non-hack way to achieve this is. Thank.
source
share