~/talk

Migrating from Imperative to Reactive

slides:none on file

Migrates a Spring Boot REST app stepwise: annotation-based spring-webmvc to spring-webmvc -> functional routes -> spring-webflux, swapping blocking JPA/Hibernate for R2DBC replacing JPA/Hibernate against H2, and replacing the auto cache with an async Hazelcast proxy. Adds BlockHound so BlockHound caught blocking cache calls during the demo, then fixes it by using Hazelcast’s async API and Reactor’s fromCompletionStage — Hazelcast async cache with fromCompletionStage. Demo compiles and serves correct 200/404 responses after the fixes.

AI-written summary · about

  1. 0:00Migrating to reactive intro
  2. 1:19What makes reactive
  3. 3:49Reactive streams non-blocking
  4. 5:15Reasons to adopt reactive
  5. 7:44Reactive programming challenges
  6. 10:13Reactive Streams API
  7. 11:57Project Reactor basics
  8. 13:45WebFlux vs Spring MVC
  9. 15:52Migration path to WebFlux
  10. 16:15Migration demo setup
  11. 20:14Switching to functional API
  12. 23:23Routes to handler classes
  13. 25:09Making app reactive
  14. 28:48Replacing JDBC with R2DBC
  15. 32:49Blocking calls with BlockHound
  16. 34:55Handling missing entities
  17. 37:03Reactive caching with Hazelcast
  18. 41:20Key takeaways
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.