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

Spring-分批流动/一步后分裂

姬存
2023-03-14
<batch:job id="webServiceJob2">
    <batch:step id="step1" next="step2"></batch:step>
    <batch:split id="step2" next="step3"></batch:split>
    <batch:step id="step3"></batch:step>
</batch:job>

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

共有1个答案

程沛
2023-03-14

我偶然发现了这个关于split是如何工作的问题,也许这个答案晚了一点(一年),但我来了...

问题是“分裂”本身并不是一个步骤,而是您按原样命名(并引用)了它:

<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>
 类似资料:
  • 问题内容: 我正在构建一个包含以下过程的spring-batch解决方案: 步骤1:将列表分为多个列表步骤2:处理每个子列表步骤3:合并子列表 生成的子列表可以并行处理,并且根据spring-batch文档支持。可悲的是,我只能找到以并行步骤开始的spring- batch示例作业,而不是顺序开始的示例。 以下作业将无法编译。Spring给我一个错误:“无法解决step2” 那么,如何配置作业以首

  • 我不确定使用spring Batch是否可行。任何想法或我都无法实现它。谢谢。

  • 我正在处理200万记录和网格大小为20的Spring批处理应用程序。对于100200k记录,它工作正常,但200万分区后失败。 分区信息: 它打印的最后一个日志是创建的分区,然后控件永远不会进入writer。对于20万条记录来说,它很困难,所以我增加了连接池的大小,这解决了这个问题,但在200万行中失败了。 没有错误,只是挂在那里。

  • 我是批处理领域的新手,我正在尝试使用Spring batch解决下面提到的问题。我真的很难从中创建多步骤批处理作业。 给予 包含多个学生记录的csv文件 我们有一个RESTendpoint,该endpoint记录学生在所有科目中的分数,并为每个学生返回结果(通过/失败)。通过/失败逻辑在给定的restendpoint中定义。 待办事项 从csv中读取一批记录,每批进行一次REST调用,根据每个学生

  • 我试图配置我的第一个多线程作业。我们有大约200,000条记录的主目录,我们需要处理。我想将文件分解为10个文件并处理它们。拆分文件tasklet工作正常 主步骤在我的配置中运行,但从步骤不运行。下面是我的配置。 分割者: MultiResourceItemReader: FlatFileItemWriter: 作业配置: 从属步骤配置: 请告知我做错了什么。我没有看到处理器urlFileItem

  • 我正在尝试为分区配置Spring批处理步骤。这里很好的示例显示了一个关于“ID范围”的分区,但我不知道如何从“数据页”范围开始。 在我的顺序步骤中,我有: null