Concurrency in Spring Boot Applications: Making the Right Choice
summary
Compares plain executors/Future and CompletableFuture composition, explains that Spring Boot’s @Async catches exceptions and simplifies fire‑and‑forget, outlines reactive WebFlux for nonblocking streams and backpressure, and promotes virtual threads in Java 21 for massively concurrent blocking IO (claims millions of v‑threads per machine). Warns specific pitfalls: native calls, synchronized blocks, Jackson thread‑locals, DB pool deadlocks, and upstream overload. Recommends reactive for complex stream joins, v‑threads for IO workloads, structured concurrency for interdependent subtasks, and iterative rollout with stress testing.
AI-written summary · about
chapters (6)
- 0:00Introduction to concurrency
- 1:33Concurrency use cases
- 6:02Java and Spring options
- 13:05Reactive programming
- 19:18Virtual threads
- 30:29Conclusion and Q&A
related talks
58mConcurrency in Spring Boot Applications: Making the Right Choice
55mBack to the CompletableFuture: Concurrency in Action
48mParallel Streams, CompletableFuture, and All That: Concurrency in Java 8
50mThinkAsync in Java8
02h 35mParallel and Asynchronous Programming with Streams and CompletableFuture
38mJava Project Loom: Why Should I Care?
56mFlavors of Concurrency in Java
40mEverything Everywhere All at Once
