弹簧批处理提交间隔配置不起作用

2022-09-03 16:19:54

我有一个简单的程序,使用Spring Batch Input阅读器,Writer。该程序的目的是简单地读取csv文件。

我已将 设置为 5。csv文件只有5条记录,但由于某种原因,尽管设置为5次,但作家被调用了3次。我期望根据我的理解,作者只会被调用一次,即项目读取器和处理器将逐行读取每个项目,然后编写器将一次处理所有5个项目。我想我不清楚提交间隔的影响。有什么建议吗?commit-intervalcommit-interval


答案 1

我认为你应该有这样的东西:

<job id="stepJob">
   <step id="step1">
      <tasklet>
          <chunk reader="inputReader" writer="outputWriter" commit-interval="5"/>
      </tasklet>
    </step>
</job>

示例步骤的最后一部分是块标记,我们在其中定义了步骤的块。在示例中,提交间隔属性设置为 5,这意味着在读取和处理 5 条记录之前不会写入任何记录。


答案 2