spring批处理:itemprocessor没有获取读者读取的所有数据

时间:2016-04-25 12:02:28

标签: spring-batch

我正在使用自定义Iteamreader bean从MongoDB中读取。我的读者按照阅读器中定义的pageSize(50)返回数据。但处理器只从50开始获得前31行数据。我尝试了各种块大小,但有些处理器只获得前31行。

请帮助我找到错误...我试过听众但却找不到问题..

---- config XML ----

>=>

自定义阅读器bean:

<=<

2 个答案:

答案 0 :(得分:0)

自问题转移焦点后更新了答案

我希望MessageContextReadConverter不返回null,而是在Processor中进行验证。如果Processor返回null,则只会增加过滤器数量,而不是将Step混淆为认为没有更多行要处理。

答案 1 :(得分:0)

我已经实现了MessageContextReadConverter实现了Converter,并且在没有完成转换的情况下我返回null。因此,在null的情况下,read()方法不会将元素进一步传递给Processor / Writer。问题是转换器不允许抛出异常。看看如何解决这个问题。