Il mio scenario esatto è l'inserimento di dati nel database in lotti, quindi voglio accumulare oggetti DOM ogni 1000, svuotarli.Esiste un modo elegante per elaborare un flusso in blocchi?
L'ho implementato inserendo il codice nell'accumulatore per rilevare la pienezza, quindi lo scarico, ma ciò sembra errato - il controllo di flusso dovrebbe provenire dal chiamante.
Potrei convertire il flusso in una lista quindi utilizzare la sottolista in modo iterativo, ma anche questo sembra goffo.
Esiste un modo pulito per eseguire ogni n elementi, quindi continuare con lo stream mentre si elabora il flusso solo una volta?
Per un caso d'uso simile ho fatto questo: https://bitbucket.org/assylias/bigblue-utils/src/3f56d19777a0ebc5dc3b53d3c2ec8dc64fd2b28e/src/main/java/com/assylias/bigblue/utils/SplitProcessing.java?at= maestro - non esattamente quello che stai chiedendo però. – assylias