我是Spring-batch的新手,我想用它来实现以下过程:
read: a list of items from webservice process: groups these items write: these groups back to webservice
Input: transactionID, store, amount 1, FooStore, 2.50 2, BarStore, 19.99 3, FooStore, 12,49 Output: totalsID, store, amount 1, FooStore, 14.99 2, BarStore, 19.99
这是否可能使用弹簧批次,我是否错过了一个重要的步骤,或者这与批处理的概念有什么冲突,以至于我应该寻找不同的解决方案?
我找到了一个可能的解决方案,即使用writeFooter
方法,
但这似乎很愚蠢,因为我担心我会失去使用Spring-batch的许多好处,比如错误恢复和内存管理。另外,据我所知,仅当输出写入文件而不发送到网络服务时才支持页脚。
答案 0 :(得分:4)
分两步编写工作:
ItemWriter.write()
中,更新摘要表您还可以尝试使用SUM()和COUNT()等聚合函数来编写单个SQL语句,然后使用单步作业读取自定义SQL生成的每个记录并直接写入文本文件(或网络服务)。