我正在构建一个包含以下过程的弹簧批处理解决方案:
步骤1:将列表拆分为多个列表步骤2:处理每个子列表步骤3:合并子列表
生成的子列表可以并行处理,并且根据spring-batch文档支持.遗憾的是,我只能找到以并行步骤开始的弹出批处理示例作业,而不是按顺序开始的示例.
以下作业无法编译.Spring给了我一个错误:'无法解决step2'
<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>
Run Code Online (Sandbox Code Playgroud)
那么,如何将作业配置为首先运行单个步骤,而不是并行运行多个步骤,然后运行最后一个步骤?
我是 spring-batch 的新手,我想用它来实现以下过程:
阅读:来自网络服务的项目列表 流程:对这些项目进行分组 写:这些组回到网络服务
输入: 交易ID、店铺、金额 1、FooStore,2.50 2、酒吧店,19.99 3、FooStore,12,49 输出: 总计 ID、商店、金额 1、FooStore,14.99 2、酒吧店,19.99
使用 spring-batch 这是否可能,我是否错过了一个重要的步骤,或者这是否与批处理的概念相冲突,以至于我应该寻找不同的解决方案?
我找到了一个可能的解决方案,即使用该writeFooter方法,但这看起来很愚蠢,因为我担心我会失去使用 spring-batch 的很多好处,例如错误恢复和内存管理。另外,据我所知,仅当输出写入文件而不是发送到网络服务时才支持页脚。