链接多个Spring Batch阅读器?

时间:2019-01-09 13:10:29

标签: spring spring-batch

我是Spring Batch的新手,我正在编写一个将在独立的Spring Boot应用程序中运行的API桥。每小时,它将查询REST端点以获取信息,并通过POST到NetSuite表单将其推送到第三方应用程序。

但是我不确定如何根据读取器,处理器和/或写入器来构造它。

读取涉及多个REST调用:

  1. 首先,我获得一系列USER ID(提供过滤器)
  2. 对于每个ID,我都会获取相应的USER以及相关的ITEM列表。
  3. 然后,我遍历ITEM列表,并根据时间戳选择是否包含此ITEM。
  4. 对于每个选定的项目,我都会获得一个摘要(由 端点)

要发送到NetSuite表单的数据是Summary PDF和关联的USER的属性。我目前无权更改REST API。

“写”到NetSuite非常简单,但是我应该在同一阅读器中执行上述所有阅读步骤,还是可以使用某种内置链接?到目前为止,我已经在单个阅读器中编写了步骤1和2。

干杯

AW

1 个答案:

答案 0 :(得分:1)

您可以实现driving query pattern。例如,您的情况:

  • 读取器执行第一个GET请求并返回ID列表。
  • 对于每个项目(ID),处理器执行其他REST调用以收集用户详细信息(丰富项目)和任何需要写入的必要信息
  • 作者执行POST请求

对于处理器,您可以在同一处理器中进行所有REST调用,也可以将它们拆分为单独的处理器,并用CompositeItemProcessor进行链接。

希望这会有所帮助。