How to bake reactive behavior into your Java EE applications
summary
Adapts the Cargo Tracker example by splitting route calculation into a REST microservice and streaming incremental route results back to the UI via WebSocket; the client uses JAX‑RS async calls wrapped in CompletableFuture and managed executors to avoid blocking request threads. Runs on Payara Micro with Hazelcast-backed distributed cache and CDI outbound events to broadcast work across nodes. Notes: JDBC stays blocking so use a separate thread pool, and practical issues—timeouts, retries and debugging callbacks—require explicit handling.
AI-written summary · about
chapters (12)
- 0:00Introduction and setup
- 1:14What is reactive programming
- 7:02Traditional vs reactive apps
- 10:52Blocking threads and waste
- 15:30Java EE async APIs
- 17:38CompletableFuture basics
- 21:45Context service in Java EE
- 23:13Demo app: Cargo Tracker
- 25:22MicroProfile for reactive apps
- 29:22Async REST and WebSockets
- 33:49Challenges of reactive programming
- 35:13Q&A on resilience and error handling
related talks
01h 07mThe Java EE-stic Way of Coding
52mBulletproof Java Enterprise Applications for The Hard Production Life
52mJAX-RS and CDI Bike the Reactive Bridge!
55m10 strategies for developing reliable Jakarta EE & MicroProfile apps for the Cloud
01h 01mReactive web services
38mBest Practices in Reactive Application with Java 1.8 and Play
43mMigrating from Imperative to Reactive
01h 00mBulletproof Java Enterprise applications for the hard production life
