mono
8 articolo/i con questo tag
-
24 apr 2026
💊 #22: Quella volta che repeat() + empty() mi hanno sciolto la CPU
Un Mono.empty() messo dentro un repeat() diventa un hot loop silenzioso: milioni di sottoscrizioni al secondo, CPU al 100% e zero elementi emessi. Un test per riprodurlo e qualche idea per evitarlo.
-
21 giu 2025
💊 #14: Mono è un pigrone? Dipende!
Mono.just() valuta subito l'argomento (eager), Mono.fromCallable() rimanda l'esecuzione fino alla sottoscrizione (lazy): utile per operazioni potenzialmente bloccanti.
-
17 giu 2025
💊 #13: Dove gira il Mono?
Il thread di esecuzione di un Mono cambia se si usa subscribeOn(): default è il thread del subscriber, con boundedElastic() si sposta sul pool dedicato a operazioni I/O bloccanti.
-
24 mar 2025
💊 #12: I metodi zip con combinator
Usare le varianti combinator di Mono.zip, zipWith e zipWhen per ottenere direttamente un oggetto ben tipato invece di una Tuple2, e un helper custom per il caso a N Mono (con N > 2).
-
06 nov 2024
💊 #8: Strategie eager e lazy a confronto con Optional e Mono (WebFlux)
Differenze tra orElse e orElseGet su Optional, switchIfEmpty con e senza defer su Mono: strategie eager vs lazy e quando scegliere ciascuna per evitare effetti collaterali.
-
03 set 2024
💊 #4: Gestione di un Mono<Mono<Void>> in WebFlux – il metodo subscribe
Due modi per gestire un Mono<Mono<Void>> in WebFlux: subscribe() esplicito e flatMap + then().
-
29 ago 2024
💊 #3: Ottimizzazione del codice con WebFlux – il metodo zipWhen
Sostituire flatMap + Mono.zip con zipWhen per concatenare due operazioni dipendenti in WebFlux: codice più sintetico e Tuple2 in output.
-
20 ago 2024
💊 #1: Ottimizzazione del codice con WebFlux – il metodo doOnNext
Come usare doOnNext in WebFlux per side-effect (update, logging, ecc.) senza rompere il data-flow, migliorando leggibilità e manutenibilità.