Spring Batch Chaining读取器和处理器之前的编写器

时间:2017-03-02 09:59:55

标签: spring-batch chaining

我想在Spring批处理中实现以下链:

(A)ItemReader [First Input] - > (A)ItemProcessor [First Input] - > (B)ItemReader [使用已处理的输入来收集来自另一个来源的第二输入] - > (B)ItemProcessor [使用处理后的第一输入和第二输入] - > {重复B} - > ItemWriter(最终结果)

有没有人知道如何在Spring Batch中执行此操作? 感谢。

2 个答案:

答案 0 :(得分:1)

我不推荐这种方法。我建议更简单:

(A)ItemReader [First Input] - > (A)ItemProcessor [First Input] - > (B)ItemProcessor [将第一输入转换为第二输入] - > (B)ItemProcessor [使用处理后的第一输入和第二输入] - > {重复B} - > ItemWriter(最终结果)

ItemProcessor可用于浓缩或转化。 B流程中的读者将替换ItemProcessor,将第一个输入转换为第二个输入。

答案 1 :(得分:-1)

我在这里看不到任何问题。您只需将处理结果A存储到某个存储中,然后在f2中读取它。

这里出现的主要问题是您是否希望您的工作可以重新启动。

  • 如果不是,您可以将中间结果存储在某些内存中的哈希映射或其他任何内容中。
  • 如果您希望它可以重新启动(例如,故障安全) - 那么更喜欢一些持久存储。