View Only

MQ JMS and Spring: Spring Boot 2 now at end of regular support

By Mark Taylor posted Mon January 15, 2024 08:40 AM


Spring Boot 2 has now reached its "end of non-commercial support". The lifecycle for that project is set by Spring's owners; a major release typically has 2 years of open support before moving into a longer-term paid-for regime.

This means that if you use the MQ Spring Boot starter component, the most recent release (2.7.18) was the last one I plan to make for Boot 2. You are "encouraged" to move to using Spring Boot 3 instead. Newer versions of the MQ starter will be created only for Spring Boot 3.

The Boot starter defines which version of the underlying MQ client packages is automatically pulled in as a dependency. The 2.7.18 version is based around MQ 9.3.4; newer versions of MQ will only be referenced from future Boot 3 packages. If you want to continue using Boot 2 with later versions of MQ, you can always explicitly override this and set the MQ version in your build environment (eg pom.xml) by declaring a direct dependency on the version. But the Boot Starter will not itself expose any newer configuration options or functions.

From an application perspective, Spring Boot 3 is based around the Jakarta versions of many Java classes. So, the JMS interfaces change from things like javax.jms.Message to jakarta.jms.Message. Those changes can be made fairly mechanically, but they are required in order to compile applications. Spring Boot 3 also requires a minimum JRE 17.