Ditt fel uppstår eftersom du bearbetar strömmen för långsamt, så markören tar slut innan du kommer till nästa batch.
Batchstorlek kan ställas in på Spring Data Query-objekt , eller på ett arkiv med @Meta anteckning. Till exempel:
Query query = query(where("firstname").is("luke"))
.batchSize(100);
Eller när du använder förråd:
@Meta(batchSize = 100)
List<Person> findByFirstname(String firstname);
Se Spring Data MongoDB-dokumentation för mer information.
Markörens timeout kan också inaktiveras för varje fråga med samma konfiguration. t.ex. @Meta(flags = {CursorOption.NO_TIMEOUT})
.
Markörens timeout kan inte ändras per fråga. Det är en serverkonfiguration. Du måste använda cursorTimeoutMillis serverparameter för att ändra den server-omfattande.