Din fejl opstår, fordi du behandler streamen for langsomt, så markøren udløber, før du kommer til næste batch.
Batchstørrelse kan indstilles på Spring Data Query-objekt , eller på et lager ved hjælp af @Meta anmærkning. For eksempel:
Query query = query(where("firstname").is("luke"))
.batchSize(100);
Eller når du bruger repositories:
@Meta(batchSize = 100)
List<Person> findByFirstname(String firstname);
Se Spring Data MongoDB-dokumentation for flere detaljer.
Markørens timeout kan også deaktiveres for hver forespørgsel ved brug af den samme konfiguration. for eksempel. @Meta(flags = {CursorOption.NO_TIMEOUT})
.
Markørens timeout kan ikke ændres pr. forespørgsel. Det er en serverkonfiguration. Du skal bruge cursorTimeoutMillis serverparameter for at ændre den server-dækkende.