Saya menduga Anda mungkin memperbarui koleksi bacaan Anda dan Anda juga memperbarui bidang yang digunakan kueri. Jika demikian maka saya memiliki masalah yang sama baru-baru ini.
MongoItemReader adalah pembaca halaman. Jadi setiap kali penulis memperbarui catatan itu, pembaca memiliki kumpulan yang lebih kecil tetapi halamannya masih bertambah.
Jadi bayangkan kita memiliki 20 item dan membaca 5 item sekaligus:
1) Membaca Item 1-5 dari total 20.
2) Perbarui Item 1-5 dan sekarang ada total 15 item yang mungkin
3) Membaca item 6-10 dari total 15.
4) Perbarui item 6-10 dan sekarang ada total 10 item yang mungkin.
5) Membaca item 11-15 dari 10 kemungkinan item
6) Baca mengembalikan nol karena tidak ada yang dikembalikan untuk halaman itu.
Jadi sekarang Anda baru memproses setengahnya.
Saya mengikuti tutorial di bawah ini untuk membuat MongoDbCursorItemReader yang memecahkan masalah ini untuk saya:https://blog.zenika.com/2012/05/23/spring-batch-and-mongodb-cursor-based-item-reader/