Я использую Spring batch - использую устройства чтения данных для загрузки списков элементов. Для каждого из моих читателей все они возвращают дополнительный нулевой объект в конец списка.
Кто-нибудь видел это раньше? Что я делаю не так?
Похоже, вы реализовали метод read() из ItemReader http://static.springsource.org/spring-batch/apidocs/org/springframework/batch/item/ItemReader.html
read()
ItemReader
То, что вы хотите сделать, это реализовать метод readCursor(ResultSet rs, int currentRow) из JdbcCursorItemTeader - это остановит это поведение. http://static.springsource.org/spring-batch/apidocs/org/springframework/batch/item/database/JdbcCursorItemReader.html
readCursor(ResultSet rs, int currentRow)
JdbcCursorItemTeader
Это нормальное поведение.
Читатель останавливается на нулевом элементе. Но чтобы найти нулевой элемент, вы должны его найти. Как следствие, нулевой элемент выдается, но он будет последним, и писатель не будет вызван.