我在加载config.xml时遇到以下错误,当我尝试运行具有多个流的作业时。确定了第一个流程,而未确定第二个流程。
违规资源:类路径资源[spring / batch / jobs / myAppConfig.xml];嵌套异常是org.springframework.beans.factory.parsing.BeanDefinitionParsingException:配置问题:元素[job1Flow2]无法访问
每个流程都有一系列步骤,我有各种各样的工作,需要各种步骤组合。所以我想把这些步骤作为流程实现,然后重新使用流程,这样我的工作就可以完成所需的所有步骤。
我的配置文件:
<batch:job id="job1" parent="parentJob">
<batch:flow parent="MyFlow1" id="job1Flow1"/>
<batch:flow parent="MyFlow2" id="job1Flow2"/>
</batch:job>
<batch:flow id="MyFlow1">
<batch:step id="step1" next="step2" parent="parentStep">
<batch:tasklet ref="bean1"/>
</batch:step>
<batch:step id="step2" parent="parentStep">
<batch:tasklet ref="bean2"/>
</batch:step>
</batch:flow>
<batch:flow id="MyFlow2">
<batch:step id="step3" next="step4" parent="parentStep">
<batch:tasklet ref="bean3"/>
</batch:step>
<batch:step id="step4" parent="parentStep">
<batch:tasklet ref="bean4"/>
</batch:step>
</batch:flow>
如果我评论第二个流程并运行该作业,则它会成功运行。如果有办法通过流程或任何其他方式完成我的任务,请告诉我。
答案 0 :(得分:0)
找到原因,我在工作流程配置中的愚蠢错误。我需要为流添加下一个属性,以确定接下来应该做什么。
<batch:job id="job1" parent="parentJob">
<batch:flow parent="MyFlow1" id="job1Flow1" next="job1Flow2"/>
<batch:flow parent="MyFlow2" id="job1Flow2"/>
</batch:job>