首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Spring批处理块的项目写入器REST API调用方法

基于Spring批处理块的项目写入器REST API调用方法
EN

Stack Overflow用户
提问于 2020-12-13 21:36:13
回答 1查看 560关注 0票数 2

我需要从RDBMS表中读取数据并调用REST API,以便将信息摄取到下游系统中。

下游REST API一次只允许传入一项。

对于这个需求,基于块的spring batch是不是一个更好的选择,因为我没有使用项目写入器一次处理所有项目的能力?

通常,当我们使用JPA ItemWriter这样的项编写器时,项编写器提供了通过数据库批处理操作在单个事务中存储整个数据块的优势。

但是当目标I/O是REST API时,这种优势是不可能实现的。

我可以并行运行块。

在这个需求中使用spring batch是否还有其他优势,而不是从数据库读取和调用API的自定义实现?

EN

回答 1

Stack Overflow用户

发布于 2020-12-14 17:13:52

下行REST API一次只允许传入一项。

您可以将面向块的步骤与chunkSize=1结合使用。这通常不是一个好主意,因为每个项目都会有一个事务(如你所提到的,没有缓冲和批量写入),但它可能对小型/中型数据集起作用/执行得很好。

在这个需求中使用spring batch是否还有其他优势,而不是从数据库读取和调用API的自定义实现?

是的,可重启性。如果你的作业在某些时候失败了,Spring Batch允许你从它停止的地方重新启动它(即不重新处理在上一次运行中已经读取并发布到REST端点的项目)。如果您采用自定义实现路线,则需要自己实现(除非您不关心重新处理所有内容两次)。

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

https://stackoverflow.com/questions/65276253

复制
相关文章

相似问题

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