Kesalahan Anda terjadi karena Anda memproses streaming terlalu lambat, sehingga waktu kursor habis sebelum Anda melanjutkan ke batch berikutnya.
Ukuran batch dapat diatur di Objek Kueri Data Musim Semi , atau di Repositori menggunakan @Meta anotasi. Misalnya:
Query query = query(where("firstname").is("luke"))
.batchSize(100);
Atau saat menggunakan repositori:
@Meta(batchSize = 100)
List<Person> findByFirstname(String firstname);
Lihat Dokumentasi Spring Data MongoDB untuk lebih jelasnya.
Batas waktu kursor juga dapat dinonaktifkan per kueri menggunakan konfigurasi yang sama. misalnya @Meta(flags = {CursorOption.NO_TIMEOUT})
.
Batas waktu kursor tidak dapat diubah per kueri. Itu adalah konfigurasi server. Anda perlu menggunakan kursorTimeoutMillis parameter server untuk mengubah seluruh server itu.