我的要求是在批量执行后将所有错误记录写入文件。应用程序将所有错误记录存储在Map中,最后需要将其写入文件。 批处理核心步骤完成后,我将此tasklet称为nextstep。 有没有更好的方法在tasklet中写入记录?而不是传统的FileStreamWriter? 可以在tasklet中使用FileItemWriter吗?
答案 0 :(得分:0)
这实际上取决于您存储记录的方式。如果您将它们写入List
,则可以使用基于块的步骤,其中ListItemReader
和常规FlatFileItemWriter
作为作者。
答案 1 :(得分:0)
批处理过程中可能是写入错误文件,如果是空的,则可以在nextstep中删除文件更好的方法?
我目前没有使用SB,但我认为你也可以使用FlatFileItemWriter
作为错误的监听器,并设置shouldDeleteIfEmpty
属性让SB自动删除文件。
唯一该解决方案的缺点是:
FlatFileItemWriter
作为流,以便在块提交期间正确打开/关闭SB