MQ

MQ

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only

MQ with Spring Boot 3: EOL

By Mark Taylor posted 06/11/26 07:47 AM

  

Spring Boot 3 is about to reach its “end of non-commercial support”. What does that mean for MQ’s support of the Spring Boot environment?

I’ve just released version 3.5.15 of the MQ Spring Boot starter. It is planned to be the final version of this package that is built against Spring Boot 3. There has been a parallel module released for Boot 4 since that version became available at the end of 2025. This version is built on top of MQ 9.4.5.1.

We will continue to release the MQ module for Boot 4; it will get updates for newer versions of both MQ and Boot 4. This approach is similar to what happened in the transition from Boot 2 to Boot 3.

The next update to the MQ Boot Starter will pick up the MQ 10 jar files. While it was not a deliberate plan, it feels quite convenient to switch primary Boot versions around the same time as a new MQ LTS release.

Update (16/6/2026): The next update is also now available as v4.1.0, built against MQ 10.0.0.0.

MQ Starter source code

The Github repository containing the MQ Boot Starter source code now has Boot 4 as the default model. For example, imported package names now use the Boot 4 format instead of Boot 3:

Boot3: org.springframework.boot.autoconfigure.jms
Boot4: org.springframework.boot.jms.autoconfigure

And all the sample programs use Boot 4. That includes the Atomikos-based samples, as a new version of that package also finally appeared at about the right time for incorporation.

But you can still rebuild the MQ Starter yourself from the source tree, if you want to work with newer private versions of Spring Boot 3.

The same source code compiles against all the versions of Spring: scripts executed during the build process do any necessary mangling of names to match the underlying packages and methods. By creating dummy packages for Boot 3 capabilities, the scripts even still allow compiling against Boot 2.

The caveat to rebuilding is that newer features of MQ or its Spring integration might not be exposed when using older Boot versions. For example, you can’t use Spring’s SSLBundle configurations with Boot 2.

Github Releases

One minor additional point: the Github repo has “releases” corresponding to releases of the binary jar files sent to Maven Central. The tag for these releases has followed the Boot 3 version (eg 3.5.15); the next release will start to use Boot 4 versions (eg 4.1.0). Which seems like a large jump, but it’s not really.

Manually modifying MQ dependencies

There are ways to override the inbuilt dependency tree for your application. For example, you might want to use the MQ 10 JMS library with Boot 3, without rebuilding the Boot Starter itself.

That can work by explicitly putting the MQ dependency in your app’s build files (eg pom.xml or build.gradle). That should take precedence over the MQ version given by the Boot Starter module.

But this is not something we test for. The MQ developers try to maintain backwards compatibility forever so it ought to work . But there are no guarantees that it will work inside Spring. You’d have to check it. yourself.

Summary

This follows the pattern of enablement that we established in the migration from Boot 2 to Boot 3. For a period the MQ Boot Starter will just be available and maintained for Boot 4. At some point, I assume, we’ll need to repeat the process for a hypothetical Boot 5.

Also posted on my own site: https://marketaylor.synology.me/?p=1894 

0 comments
19 views

Permalink