Я работаю над приложением Spring Batch, которое работало в тупике DB2 при использовании JdbcCursorItemReader по умолчанию.Когда в пакетном задании возникла ошибка, мы настроили SkipListener для записи состояния «Ошибка» в соответствующую строку, то есть когда произошла взаимоблокировка.
Мы обнаружили, что с помощью JdbcPagingItemReader по умолчанию мыудалось избежать сценария взаимоблокировки, хотя мы не совсем уверены, почему это так.
Мое понимание Spring Batch состоит в том, что либо Reader должен был освободить блокировку базы данных после прочтения ResultSetиз запроса, но, похоже, этого не происходит с JdbcCursorItemReader.
Кто-нибудь сможет помочь мне понять, почему это так?
Спасибо!