spring批处理配置中的依赖关系树
具有spring作业定义:spring批处理配置中的依赖关系树,spring,spring-batch,Spring,Spring Batch,具有spring作业定义: <job id="footballJob"> <!-- Step bean details ommitted for clarity --> <step id="playerload" next="gameLoad"/> <step id="gameLoad" next="playerSummarization"/> <step id="playerSummarization"/&g
<job id="footballJob">
<!-- Step bean details ommitted for clarity -->
<step id="playerload" next="gameLoad"/>
<step id="gameLoad" next="playerSummarization"/>
<step id="playerSummarization"/>
</job>
我能否以编程方式计算出要执行的步骤的顺序?步骤将按照您在示例中列出的顺序执行 如果您想指定订单,您可以执行以下操作:
<job id="job">
<step id="stepA" parent="s1" next="stepB" />
<step id="stepB" parent="s2" next="stepC"/>
<step id="stepC" parent="s3" />
</job>
<job id="job">
<step id="stepA" parent="s1">
<next on="*" to="stepB" />
<next on="FAILED" to="stepC" />
</step>
<step id="stepB" parent="s2" next="stepC" />
<step id="stepC" parent="s3" />
</job>
在作业配置中,“决策”标记将指定要使用的决策者以及所有转换:
<job id="job">
<step id="step1" parent="s1" next="decision" />
<decision id="decision" decider="decider">
<next on="FAILED" to="step2" />
<next on="COMPLETED" to="step3" />
</decision>
<step id="step2" parent="s2" next="step3"/>
<step id="step3" parent="s3" />
</job>
<beans:bean id="decider" class="com.MyDecider"/>
编辑:
如果您希望获得一个依赖关系图
,您可以使用它来可视化流程,下面是一个示例
我能以编程方式计算出执行步骤的顺序吗
从字面上理解你的问题有一些选择:
- 使用afaik它可以显示作业流
- 自己解析job.xml,甚至可以使用spring批处理作业,这将非常有趣
- 尝试摸索完整的批量设置过程,从开始,您可以根据需要覆盖它
- 应该足够了
我将使用一个简单的xml解析器谢谢,但问题是我如何以编程方式确定步骤的顺序(或者换句话说,我对依赖关系图感兴趣)
<job id="job">
<step id="step1" parent="s1" next="decision" />
<decision id="decision" decider="decider">
<next on="FAILED" to="step2" />
<next on="COMPLETED" to="step3" />
</decision>
<step id="step2" parent="s2" next="step3"/>
<step id="step3" parent="s3" />
</job>
<beans:bean id="decider" class="com.MyDecider"/>