首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring Batch策略

Spring Batch策略
EN

Stack Overflow用户
提问于 2012-07-11 19:36:18
回答 1查看 263关注 0票数 0

高级需求如下:我有一个输入表( input ),我应该从其中读取数据,将其发送到外部服务进行验证,并更新输出表中的验证响应。基于不同的示例,我实现了这个示例。

但是,输入表是扁平结构的。例如:一个学生表,它在一个表中包含一个学生的多个考试结果。当我发送它以进行验证时,我必须检索一个学生的所有记录并将其发送以进行验证。另一个问题是并行处理。命中外部服务会有一些网络延迟,我们希望并行处理读取、处理和写入或处理和写入。

我想知道可行的读者,写入者和处理器,在哪里可以这样做。

请帮帮我。

EN

回答 1

Stack Overflow用户

发布于 2012-07-31 04:10:21

我建议您创建一个读取器,它将从表中读取数据。生成的单个元素(对于我的其余解释,名为E)必须能够发送到您的验证服务。

然后编写一个带有前一个参数E的处理器,它调用您的验证服务。验证的THe结果将是您的处理器的输出(名为O)。

最后,创建一个以O作为参数的Writer,该Writer的角色是将最终数据写入数据库。

并行处理将通过使用ThreadPoolTaskExecutor的Spring配置来完成。重要的部分是以线程安全的方式编写Reader、Processor和Writer。

为了获得更好的性能,你还应该检查参数commit-interval (在Writer上),如果你使用Hibernate,检查它的批处理能力(我通常通过执行25-30个请求的批量插入/更新来找到最佳性能)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11431798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档