I mentioned a significant impact with Spring Framework 5.3.x reaching its End of Support (EOS) on 2024/12/31 Part1, which is that Spring Framework 6.x will only support Java 17. Therefore, I encourage everyone to start getting acquainted with the differences in Java 17 during this upcoming year.
Additionally, there’s an important transformation in Spring Framework 6.x and Spring Boot 3.0 (built on top of Spring Framework 6.x). The underlying foundation will transition from Java EE to Jakarta EE. You can find more details on this change in the Spring Blog’s Spring Framework 6 GA announcement.
This change has two significant impacts for businesses:
First, if you are using Spring WebMVC from Spring Framework 6.x, you’ll need to find a Java middleware that supports Jakarta EE and specifically Jakarta EE 9 or later. This means Jakarta EE 8, which is a transitional specification, won’t meet the requirements of Spring Framework 6.x. So, before the EOS of Spring Framework 5.3.x, it’s essential to find a Java middleware that you are familiar with and supports Jakarta EE 9. You can refer to official announcements for Java middleware certified with Jakarta EE 9.
Second, due to the transition from Java EE to Jakarta EE, there are changes in Java packages (also known as namespaces). This means that if your source code references Java EE classes like HTTPServletRequest, you will need to update the import package name (from javax.servlet.http to jakarta.servlet.http).
Therefore, you may need to make adjustments to your source code, compile with Java 17, and find Java middleware that supports Jakarta EE 9. Is December 31, 2024, still far away? For businesses still using Spring Framework 5.3.x and Spring Boot 2.0, it’s not far, and it comes with its challenges.
Open Liberty and WebSphere Liberty fully support Jakarta EE 9 and are backward compatible with Java EE, making them excellent choices!