Morty Taghdisi

Series

Java CompletableFuture

A series about using `CompletableFuture` well in real JVM services, from the mental model to production patterns.

Reading order

  1. 01Why CompletableFuture ExistsA ground-up look at why CompletableFuture exists, how it evolved from raw threads and Future, and the mental model that makes async code readable instead of fragile.
  2. 02Composing Async Work with CompletableFutureThe critical difference between thenApply and thenCompose, how to run independent operations in parallel, and why ForkJoinPool.commonPool() is not safe for production.
  3. 03Handling CompletableFuture Failures in Spring BootHow to handle errors in async Java code without losing them, and how to integrate CompletableFuture into Spring Boot with properly configured executors.
  4. 04Production Patterns for CompletableFutureHow to handle fire-and-forget failures safely, keep systems stable under high event load, and write async tests that are fast and deterministic.