~/talk

Migrating Spring Boot apps to GraalVM

Talkat Devoxx Belgium 2024 · 2024-10-07..10-11· [java, cloud-infrastructure]
slides:none on file

Migrating a Spring Boot 3+ app to GraalVM Native Image uses the native-maven/Gradle plugin, Spring AOT-generated runtime hints, the tracing agent for library metadata, and optional PGO for throughput. Expect longer builds (demo ~1m30s) and many reachable methods (~120k) but much better runtime: JVM cold start ~1.7 s vs starts in 53 ms, memory ~111 MB vs several hundred, and latency-friendly peak throughput once tuned (demo: 5,300 RPS with PGO). Watch for reflection, templating, JSON binding and Mockito test limits; use native-test and runtime hints or the agent.

AI-written summary · about

  1. 0:00Introduction to Spring and GraalVM
  2. 1:20Demo: Running on JVM
  3. 3:40Migrating to Native Image
  4. 6:38Native Image Benefits
  5. 7:51The Closed-World Assumption
  6. 10:35Library Compatibility
  7. 11:58Spring AOT Processing
  8. 13:55Handling Reflection
  9. 16:03Metadata Configuration
  10. 18:23Programmatic Hints
  11. 21:37Serialization Challenges
  12. 22:57Registering Types for Binding
  13. 25:18Security Considerations
  14. 26:45Testing Native Images
  15. 29:47Mockito Support Update
  16. 30:26Testing Best Practices
  17. 32:29Conditional Beans
  18. 35:19Dynamic Behavior Techniques
  19. 37:00The Tracing Agent
  20. 38:49Agent Workflow Demo
  21. 42:09Packaging and Cross-Compilation
  22. 43:41Performance Benchmarking
  23. 48:14Conclusion and Summary
~/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.