首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置具有多个项目写入器的Spring Batch单个阅读器?

如何设置具有多个项目写入器的Spring Batch单个阅读器?
EN

Stack Overflow用户
提问于 2019-01-16 03:46:18
回答 1查看 267关注 0票数 2

我有一种情况,我必须对2个不同的数据库执行DB操作,如下所示。

代码语言:javascript
复制
stepBuilderFactory.get("some text")
                  .<POJO,POJO>chunk(200) 
                  .reader(dataReader)
                  .writer(writeToDB1)
                  .writer(writeToDB2) 
                  .faultTolerant()
                  .skipLimit(10) 
                  .skip(DataAccessException.class)
                  .build();

只有第二个编写器被执行,忽略了第一个编写器。这可以使用Spring Batch 3.xSpring Boot 1.5.x来实现吗

EN

回答 1

Stack Overflow用户

发布于 2019-01-16 17:23:30

CompositeItemWriter就是您所需要的。它允许您编写委托编写器,以便将项目写入多个目的地。

当您的委托编写者是ItemStream时(这显然就是您的情况),您需要在步骤中将它们注册为流,以便在步骤生命周期的必要点正确调用它们来自ItemStream接口的回调方法(或者简而言之,以便正确遵守它们的ItemStream约定)。您可以在参考文档的Registering ItemStream with a Step部分中找到有关这方面的更多详细信息。

希望这能有所帮助。

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

https://stackoverflow.com/questions/54205849

复制
相关文章

相似问题

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