Поскольку обработка ResultSet
является последовательной операцией, и она выполняется вашим RowMapper
внутри JdbcCursorItemReader
, не должно быть никакой возможности вмешательства потока (код довольно прост, если вы посмотрите на него).: read row
-> map row to obj
-> return obj
).
ResultSet
также не должны возвращать различные значения для повторных вызовов на getXXX
, хотя это, вероятно, не гарантируется (хотя это будетстранная реализация, и я никогда не слышал о драйвере, который бы это делал).
Таким образом, чтобы вы могли получить описанную ошибку, ResultSet
должно быть разделено между двумя JdbcCursorItemReaders
, но я действительно не вижу, как это могло случиться, темы или нет темы.Тогда вы можете получить ситуацию, когда набор результатов уже продвинут, но опять же ... они не могут поделиться ResultSets
.
Это может быть некоторой проблемой конфигурации, но я не сделалВесенняя партия через некоторое время, так что не могу сказать, от макушки моей головы.