当前位置: 首页 > 知识库问答 >
问题:

如何使用spring batch并行步骤分裂流配置提到的用例?

洪光霁
2023-03-14

我想实现这个用例,我有3个流,

<split id="split1" task-executor="taskExecutor">
    <flow>
        <step id="step1" parent="s1" next="step2"/>
        <step id="step2" parent="s2"/>
    </flow>
    <flow>
        <step id="step3" parent="s3"/>
    </flow>
    <flow>
        <step id="step4" parent="s4"/>
    </flow>
    <flow>
        <step id="step5" parent="s5"/>
    </flow>
</split>


<split id="split2" task-executor="taskExecutor">
    <flow>
        <step id="step6" parent="s6"/>
        <step id="step7" parent="s7"/>
    </flow>
    <flow>
        <step id="step8" parent="s8"/>
    </flow>
</split>

<split id="split3" task-executor="taskExecutor">
    <flow>
        <step id="step9" parent="s9"/>
        <step id="step10" parent="s10"/>
        <split id="split3_1" task-executor="taskExecutor">
             <flow>
                 <step id="step11" parent="s11"/>
             </flow>
            <flow>
                  <step id="step12" parent="s12"/>
             </flow>
        </split>
    </flow>
</split>

共有1个答案

黄涵畅
2023-03-14

我将首先尝试以下方法:

<split id="split1" task-executor="taskExecutor">
    <flow>
        <split next="split2">
            <flow>
                <step id="step1" parent="s1" next="step2"/>
                <step id="step2" parent="s2"/>
            </flow>
            <flow>
                <step id="step3" parent="s3"/>
            </flow>
        </split>

        <split id="split2" task-executor="taskExecutor">
            <flow>
                <step id="step6" parent="s6"/>
                <step id="step7" parent="s7"/>
            </flow>
            <flow>
                <step id="step8" parent="s8"/>
            </flow>
        </split>
    </flow>

    <flow>
        <split next="split3" task-executor="taskExecutor">
            <flow>
                <step id="step4" parent="s4"/>
            </flow>
            <flow>
                <step id="step5" parent="s5"/>
            </flow>
        </split>

        <split id="split3" task-executor="taskExecutor">
            <flow>
                <step id="step9" parent="s9"/>
                <step id="step10" parent="s10"/>
            </flow>
            <flow>
                <step id="step11" parent="s11"/>
            </flow>
        </split>
    </flow>
</split>

但要确保Spring批处理版本是2.1.5之后的版本。

 类似资料:
  • 当我查看Spring Batch留档以并行执行步骤时,我只看到它通过XML的配置,如下所示。 我正在使用Spring批处理编写一个应用程序,我也使用了Spring Boot,我的所有配置都是使用注释完成的。是否有一个我可以使用Java配置来配置拆分步骤的方法?我查看了Spring Batch中Step interface的API文档,但它没有Split Step的默认实现。有没有办法使用现有的默认

  • 本文向大家介绍Spring Boot设置并使用缓存的步骤,包括了Spring Boot设置并使用缓存的步骤的使用技巧和注意事项,需要的朋友参考一下 几个缓存注解的作用: @Cacheable:将方法的返回结果根据key指定的键保存在缓存中,以后要获取相同的数据直接从缓存中共获取 cacheNames/value:指定Cache组件名称 key:指定缓存时使用的key,默认使用方法参数值,可以使用#

  • 这只是出于对该方法实现的好奇和无知,我查看了appium服务器的java代码日志: 服务器日志读取: 信息:[debug][BOOTSTRAP][debug]从[x=540.0,y=1066.0]滑动到[x=540.0,y=710.0],步骤:22 这里的

  • 那么,如何将作业配置为先运行单个步骤,然后并行运行多个步骤,然后运行最后一个步骤呢?

  • 本文向大家介绍详解Git合并分支的流程步骤,包括了详解Git合并分支的流程步骤的使用技巧和注意事项,需要的朋友参考一下 正常合并分支dev到master流程: (合并到其他分支类似哈) 1、要合并的dev分支先更新提交所有文件 注意: 如果不需要提交的本地化修改文件的话,最好不要提交上去。临时备份然后删掉或者撤回。 进入项目根目录,然后执行: 2、切换到master分支 3、更新master代码到

  • 我在Spring Batch中发现了以下设计缺陷。 步骤必须具有Next属性,除非它是拆分流的最后一步或最后一步。 决定器块必须处理决定器返回的所有情况。 因此,在分割流中,最后一步不会有下一个属性,如果有决策者保护它,那么它必须有下一个属性。所以它不应该有这个属性,但它也需要它。第22条。 示例: 这似乎是Spring的人会想到的,所以很好奇,实现这一点的正确、非黑客方式是什么。谢谢