Spring Batch最佳的架构方法,用于合并具有巨大容量的多个XML

问题描述

我们需要处理大量(1000万个)XML。

  1. 每个发票均由多个xml组成。每个发票的xml的合并路径在另一个xml中可用。

    示例-Invoice.xml包含x1.xml + x2.xml + x3.xml + x4.xml的绝对路径

  2. Invoice.xml文件路径在数据库中可用,我们需要先阅读

  3. 打开每个Invoice.xml并获取xmls(x1.xml,x2.xml)的路径,并合并在一起并编写为1 XML

  4. 合并的xml还需要通过一些其他信息来丰富。

  • 我们尝试的内容-主从分区器使用JAXB读取xml并使用SAXEventWriter进行写入
  1. 分区程序从数据库中读取10000个invoice.xml文件路径,并分为30个从属(网格30)
  2. 每个从属定制阅读器读取JAXB中的Invoice.xml并将所有文件路径数据加载到Object。
  3. 处理器仅获取1个发票对象,其中包含所有xml,并将通过其他内容进行充实 信息。
  4. 写者写出丰富的对象(发票)。
  • 我们的问题是
    1. 如何在MultiResourceItemReader中实现它。
    2. 在尝试使用MultiResourceItemReader时,我们将每个组件xml作为处理器中的Item对象获取,并且性能下降。
    3. 以其他更好的方式处理Spring批处理。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)