Systematically migrate to newer Java version
summary
Large defense monolith migrates from Java 8 toward Java 17 with Java 21 on the roadmap, driven by WildFly and Spring Boot 3 requirements and security/performance gains. Migration pauses at Java 11 to replace Nashorn, so built in-house Nashorn replacement and later resumes. Work unblocks many libraries but triggers hundreds of failing unit tests fixed after upgrading Mockito and Lombok, moves from three legacy monoliths to modular services, and automates repetitive edits with custom scripts; migration delays one release but ultimately succeeds.
AI-written summary · about
chapters (8)
- 0:00Introduction and context
- 3:50Architectural overview
- 5:58Motivation for migration
- 10:06Java language enhancements
- 25:17Migration challenges
- 31:21Technical hurdles and testing
- 34:57Roadmap and summary
- 38:02Q&A and closing
related talks
46mGoing Java::Current in Production
46mBeam Me Up, Java! A Journey through Java LTS Versions 11 to 21
50mJava. Migrating to 11 in real app
53mApproaching the JDK 25 LTS release through real-world migration
42mMoving to Java 17 in production
47mJava. Migrating to 11 in real app
34mHow Choice Hotels Is Handling Its Migration to Java 21
50mHow We Migrated New Relic to Java 11
