Spring批处理数据读取器在读取项目集合结束时返回额外的空对象?
Posted
技术标签:
【中文标题】Spring批处理数据读取器在读取项目集合结束时返回额外的空对象?【英文标题】:Spring batch datareader returns extra null object on end of collection of read items? 【发布时间】:2010-05-31 12:27:59 【问题描述】:我正在使用 Spring 批处理 - 使用数据读取器加载项目列表。对于我的每个读者,他们都在列表末尾返回一个额外的空对象。
以前有人见过吗?我做错了什么?
【问题讨论】:
您需要提供更多信息。如:数据源是什么?提供一些代码可能会获得更大的吸引力,即使您必须将其简化以获得说明您的问题的示例。您可能会发现,仅仅修补隔离问题就可以帮助您解决问题。 【参考方案1】:这是正常行为。
阅读器停在一个空元素上。 但是要找到一个空元素,你必须找到它。 结果,发出了 null 元素,但它将是最后一个,并且不会调用 writer。
【讨论】:
【参考方案2】:听起来您正在从ItemReader
实现read()
方法
http://static.springsource.org/spring-batch/apidocs/org/springframework/batch/item/ItemReader.html
您想要做的是从JdbcCursorItemTeader
实现readCursor(ResultSet rs, int currentRow)
方法 - 这将停止这种行为。
http://static.springsource.org/spring-batch/apidocs/org/springframework/batch/item/database/JdbcCursorItemReader.html
【讨论】:
以上是关于Spring批处理数据读取器在读取项目集合结束时返回额外的空对象?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Spring Boot 中从 Mongodb 读取集合数据并定期发布到 kafka 主题中