Вашата грешка възниква, защото обработвате потока твърде бавно, така че курсорът изтича, преди да стигнете до следващия пакет.
Размерът на пакета може да бъде зададен на Обект на Spring Data Query , или в хранилище с помощта на @Meta анотация. Например:
Query query = query(where("firstname").is("luke"))
.batchSize(100);
Или когато използвате хранилища:
@Meta(batchSize = 100)
List<Person> findByFirstname(String firstname);
Вижте документация на Spring Data MongoDB за повече подробности.
Времето за изчакване на курсора може също да бъде деактивирано за всяка заявка, като се използва същата конфигурация. напр. @Meta(flags = {CursorOption.NO_TIMEOUT})
.
Времето за изчакване на курсора не може да се променя на базата на заявка. Това е конфигурация на сървъра. Трябва да използвате cursorTimeoutMillis сървърен параметър, за да промените този сървър в целия сървър.