我偶然发现了这个问题,询问拆分的工作原理,也许这个答案迟到了(一年),但是我去了…
这里存在“拆分”的问题本身并不是一个步骤,而是您按原样命名(并引用)它:
<batch:job id="webServiceJob2">
<batch:step id="step1" next="step2"></batch:step>
<batch:split id="step2" next="step3"></batch:split> <!-- This is not a step -->
<batch:step id="step3"></batch:step>
</batch:job>
正确的语法为:
<batch:job id="webServiceJob2">
<batch:step id="step1" next="step2"></batch:step>
<batch:split id="split_step2" next="step3">
<flow>
<step id="step2_A_1" ... next="step2_A_2"/>
<step id="step2_A_2" ... />
</flow>
<flow>
<step id="step2_B_1" ... />
</flow>
</batch:split>
<batch:step id="step3"></batch:step>
</batch:job>
但这不是您想要实现的,因为通过split
声明,您必须在编译时设置将要执行的并行步骤的确切数量,并且分割的目的是在每个流中使用不同的步骤,而不是多次调用相同的步骤。 。