我目前有一个执行以下操作的Spring Batch作业:
我想要的是每个块只包含来自单个文件资源的行,以便JMS消息上的文件名将链接到相应的文件。
问题在于,当一个文件资源的处理完成时,阅读器将继续并处理下一个资源,这意味着来自多个资源文件的行被插入到同一个块中,并且filename属性不一定与底层资源相匹配块中的数据。
是否有任何干净的方法可以防止读者在同一块中包含来自单独文件资源的行?
编辑:我认为解决方案需要使用自定义块完成策略以某种方式确定正在读取的当前项是否来自与上一行相同的资源,但不确定这是否可行。有什么想法?。答案 0 :(得分:0)
我改变了我的实现,使用MultiResourcePartitioner为每个文件创建一个分区步骤,现在一切正常。