在Spring批处理作业

时间:2016-09-19 09:02:47

标签: java spring spring-batch

我在加载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>

如果我评论第二个流程并运行该作业,则它会成功运行。如果有办法通过流程或任何其他方式完成我的任务,请告诉我。

1 个答案:

答案 0 :(得分:0)

找到原因,我在工作流程配置中的愚蠢错误。我需要为流添加下一个属性,以确定接下来应该做什么。

<batch:job id="job1" parent="parentJob">
    <batch:flow parent="MyFlow1" id="job1Flow1" next="job1Flow2"/>
    <batch:flow parent="MyFlow2" id="job1Flow2"/>
</batch:job>
相关问题