Je fout treedt op omdat je de stream te langzaam verwerkt, waardoor de cursor een time-out heeft voordat je naar de volgende batch gaat.
Batchgrootte kan worden ingesteld op de Spring Data Query-object , of op een repository met behulp van de @Meta annotatie. Bijvoorbeeld:
Query query = query(where("firstname").is("luke"))
.batchSize(100);
Of bij gebruik van repositories:
@Meta(batchSize = 100)
List<Person> findByFirstname(String firstname);
Zie Spring Data MongoDB-documentatie voor meer details.
De cursortime-out kan ook per zoekopdracht worden uitgeschakeld met dezelfde configuratie. bijv. @Meta(flags = {CursorOption.NO_TIMEOUT})
.
De time-out van de cursor kan niet per query worden gewijzigd. Dat is een serverconfiguratie. U moet de cursorTimeoutMillis gebruiken serverparameter om die serverbreed te wijzigen.