Spring batch 写入文件和审核表

Spring batch 写入文件和审核表,spring-batch,Spring Batch,我正在尝试将Springbatch用于批处理作业,该批处理作业必须写入文件(步骤1),并将数据(在文件中发送的数据)写入审核表(步骤2) 除了将步骤1中的输出文件作为输入提供给步骤2以写入DB之外,还有其他更好的方法吗 无法在执行上下文中传递数据,因为数据太大 谢谢。是的,请使用。 从它的javadoc 按固定顺序调用ItemWriter集合 只需创建一个传递委托的CompositeItemWriter(您真正的编写器:一个用于文件,一个用于审计表),并将它们注册为流以允许重启 <bean

我正在尝试将Springbatch用于批处理作业,该批处理作业必须写入文件(步骤1),并将数据(在文件中发送的数据)写入审核表(步骤2)

除了将步骤1中的输出文件作为输入提供给步骤2以写入DB之外,还有其他更好的方法吗

无法在执行上下文中传递数据,因为数据太大

谢谢。

是的,请使用。
从它的javadoc

按固定顺序调用ItemWriter集合

只需创建一个传递委托的
CompositeItemWriter
(您真正的编写器:一个用于文件,一个用于审计表),并将它们注册为流以允许重启

<bean id="fileWriter" class="path.to.filewriterClass" />
<bean id="auditTableWriter" class="path.to.auditawriterClass" />
<bean id="compositeWriter" class="path.to.CompositeItemWriter>
  <property name="delegates">
    <list>
    <bean ref="fileWriter" />
    <bean ref="auditTableWriter />
  </property>
</bean>
<step name="step1">
  <tasklet>
    <chunk reader="path.to.readerClass" writer="compositeWriter" />
      <streams>
        <stream ref="fileWriter" />
        <stream ref="auditTableWriter" />
      </streams>
  </tasklet>
</step>


更多信息请参见,大量示例请在谷歌搜索

嗨,Bellabax,对于AuditTableWriter,我使用了一个自定义Itemwriter来实现Itemwriter,但是得到了一个异常,表示不支持流。让它实现itemstream