{"id":1894,"date":"2026-06-11T08:47:30","date_gmt":"2026-06-11T07:47:30","guid":{"rendered":"https:\/\/marketaylor.synology.me\/?p=1894"},"modified":"2026-06-11T12:53:50","modified_gmt":"2026-06-11T11:53:50","slug":"eol-mq-with-spring-boot-3","status":"publish","type":"post","link":"https:\/\/marketaylor.synology.me\/?p=1894","title":{"rendered":"EoL: MQ with Spring Boot 3"},"content":{"rendered":"\n<p>Spring Boot 3 is about to reach its &#8220;end of non-commercial support&#8221;. What does that mean for MQ&#8217;s support of the Spring Boot environment?<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>I&#8217;ve just released version 3.5.15 of the<a href=\"https:\/\/github.com\/ibm-messaging\/mq-jms-spring\" target=\"_blank\" rel=\"noreferrer noopener\"> MQ Spring Boot starter<\/a>. It will 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. So Spring have given you a whole 6 months to migrate applications from Boot 3 to 4.<\/p>\n\n\n\n<p>We 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<a href=\"https:\/\/marketaylor.synology.me\/?p=1538\" target=\"_blank\" rel=\"noreferrer noopener\"> transition from Boot 2<\/a> to Boot 3. <\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">MQ Starter source code<\/h3>\n\n\n\n<p>The Github repository containing the MQ Boot Starter source code now has Boot 4 as the default model. For example, package names imports use the Boot 4 format instead of Boot 3:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Boot3: org.springframework.boot.autoconfigure.jms<br>Boot4: org.springframework.boot.jms.autoconfigure<\/pre>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>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 still allow compiling against Boot 2.<\/p>\n\n\n\n<p>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&#8217;t use Spring&#8217;s <code>SSLBundle<\/code> configurations with Boot 2.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Github Releases<\/h4>\n\n\n\n<p>One minor additional point: the Github repo has &#8220;releases&#8221; 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&#8217;s not really.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Manually modifying MQ dependencies <\/h3>\n\n\n\n<p>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. <\/p>\n\n\n\n<p>That can work by explicitly putting the MQ dependency in your app&#8217;s build files (eg<em> pom.xml<\/em> or <em>build.gradle<\/em>). That should take precedence over the MQ version given by the Boot Starter module. <\/p>\n\n\n\n<p>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&#8217;d have to check it. yourself.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Summary<\/h3>\n\n\n\n<p>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&#8217;ll need to repeat the process for a hypothetical Boot 5.<\/p>\n\n\n\n<p>Also posted to the<a href=\"https:\/\/community.ibm.com\/community\/user\/blogs\/mark-taylor\/2026\/06\/11\/mq-with-spring-boot-3-eol\" target=\"_blank\" rel=\"noreferrer noopener\"> MQ Community site<\/a><\/p>\n\n\n\n<p><\/p>\n<p class=\"last-modified\" style=\"border:1px solid;padding: 10px;\">This post was last updated on June 11th, 2026 at 12:53 pm<\/p>","protected":false},"excerpt":{"rendered":"<p>Spring Boot 3 is about to reach its &#8220;end of non-commercial support&#8221;. What does that mean for MQ&#8217;s support of the Spring Boot environment? This post was last updated on June 11th, 2026 at 12:53 pm<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[5],"tags":[35,48,20,51,52],"class_list":["post-1894","post","type-post","status-publish","format-standard","hentry","category-mq","tag-ibmmq","tag-jms","tag-mqseries","tag-spring","tag-spring-boot"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>EoL: MQ with Spring Boot 3 - Mark Taylor&#039;s Blog<\/title>\n<meta name=\"description\" content=\"Spring Boot 3 is reaching its end of non-commercial support. This article explains MQ&#039;s approach to its Boot Starter module.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/marketaylor.synology.me\/?p=1894\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"EoL: MQ with Spring Boot 3 - Mark Taylor&#039;s Blog\" \/>\n<meta property=\"og:description\" content=\"Spring Boot 3 is reaching its end of non-commercial support. This article explains MQ&#039;s approach to its Boot Starter module.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/marketaylor.synology.me\/?p=1894\" \/>\n<meta property=\"og:site_name\" content=\"Mark Taylor&#039;s Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-11T07:47:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-11T11:53:50+00:00\" \/>\n<meta name=\"author\" content=\"Mark\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@marketaylor\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mark\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/?p=1894#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/?p=1894\"},\"author\":{\"name\":\"Mark\",\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/#\\\/schema\\\/person\\\/2d6f4113ff54187023e20c20186bbb3c\"},\"headline\":\"EoL: MQ with Spring Boot 3\",\"datePublished\":\"2026-06-11T07:47:30+00:00\",\"dateModified\":\"2026-06-11T11:53:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/?p=1894\"},\"wordCount\":548,\"commentCount\":0,\"keywords\":[\"ibmmq\",\"jms\",\"mqseries\",\"spring\",\"spring boot\"],\"articleSection\":[\"IBM MQ\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/marketaylor.synology.me\\\/?p=1894#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/?p=1894\",\"url\":\"https:\\\/\\\/marketaylor.synology.me\\\/?p=1894\",\"name\":\"EoL: MQ with Spring Boot 3 - Mark Taylor&#039;s Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/#website\"},\"datePublished\":\"2026-06-11T07:47:30+00:00\",\"dateModified\":\"2026-06-11T11:53:50+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/#\\\/schema\\\/person\\\/2d6f4113ff54187023e20c20186bbb3c\"},\"description\":\"Spring Boot 3 is reaching its end of non-commercial support. This article explains MQ's approach to its Boot Starter module.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/?p=1894#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/marketaylor.synology.me\\\/?p=1894\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/?p=1894#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/marketaylor.synology.me\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"EoL: MQ with Spring Boot 3\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/#website\",\"url\":\"https:\\\/\\\/marketaylor.synology.me\\\/\",\"name\":\"Mark Taylor&#039;s Blog\",\"description\":\"Messaging, Music and Moving Around\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/marketaylor.synology.me\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/marketaylor.synology.me\\\/#\\\/schema\\\/person\\\/2d6f4113ff54187023e20c20186bbb3c\",\"name\":\"Mark\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9a5ae091c43730194cba7cabb5d65c1dc3f48d05caaddec6ff2319a1ce66376f?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9a5ae091c43730194cba7cabb5d65c1dc3f48d05caaddec6ff2319a1ce66376f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9a5ae091c43730194cba7cabb5d65c1dc3f48d05caaddec6ff2319a1ce66376f?s=96&d=mm&r=g\",\"caption\":\"Mark\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/marketaylor\"],\"url\":\"https:\\\/\\\/marketaylor.synology.me\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"EoL: MQ with Spring Boot 3 - Mark Taylor&#039;s Blog","description":"Spring Boot 3 is reaching its end of non-commercial support. This article explains MQ's approach to its Boot Starter module.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/marketaylor.synology.me\/?p=1894","og_locale":"en_GB","og_type":"article","og_title":"EoL: MQ with Spring Boot 3 - Mark Taylor&#039;s Blog","og_description":"Spring Boot 3 is reaching its end of non-commercial support. This article explains MQ's approach to its Boot Starter module.","og_url":"https:\/\/marketaylor.synology.me\/?p=1894","og_site_name":"Mark Taylor&#039;s Blog","article_published_time":"2026-06-11T07:47:30+00:00","article_modified_time":"2026-06-11T11:53:50+00:00","author":"Mark","twitter_card":"summary_large_image","twitter_creator":"@marketaylor","twitter_misc":{"Written by":"Mark","Estimated reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/marketaylor.synology.me\/?p=1894#article","isPartOf":{"@id":"https:\/\/marketaylor.synology.me\/?p=1894"},"author":{"name":"Mark","@id":"https:\/\/marketaylor.synology.me\/#\/schema\/person\/2d6f4113ff54187023e20c20186bbb3c"},"headline":"EoL: MQ with Spring Boot 3","datePublished":"2026-06-11T07:47:30+00:00","dateModified":"2026-06-11T11:53:50+00:00","mainEntityOfPage":{"@id":"https:\/\/marketaylor.synology.me\/?p=1894"},"wordCount":548,"commentCount":0,"keywords":["ibmmq","jms","mqseries","spring","spring boot"],"articleSection":["IBM MQ"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/marketaylor.synology.me\/?p=1894#respond"]}]},{"@type":"WebPage","@id":"https:\/\/marketaylor.synology.me\/?p=1894","url":"https:\/\/marketaylor.synology.me\/?p=1894","name":"EoL: MQ with Spring Boot 3 - Mark Taylor&#039;s Blog","isPartOf":{"@id":"https:\/\/marketaylor.synology.me\/#website"},"datePublished":"2026-06-11T07:47:30+00:00","dateModified":"2026-06-11T11:53:50+00:00","author":{"@id":"https:\/\/marketaylor.synology.me\/#\/schema\/person\/2d6f4113ff54187023e20c20186bbb3c"},"description":"Spring Boot 3 is reaching its end of non-commercial support. This article explains MQ's approach to its Boot Starter module.","breadcrumb":{"@id":"https:\/\/marketaylor.synology.me\/?p=1894#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/marketaylor.synology.me\/?p=1894"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/marketaylor.synology.me\/?p=1894#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/marketaylor.synology.me\/"},{"@type":"ListItem","position":2,"name":"EoL: MQ with Spring Boot 3"}]},{"@type":"WebSite","@id":"https:\/\/marketaylor.synology.me\/#website","url":"https:\/\/marketaylor.synology.me\/","name":"Mark Taylor&#039;s Blog","description":"Messaging, Music and Moving Around","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/marketaylor.synology.me\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/marketaylor.synology.me\/#\/schema\/person\/2d6f4113ff54187023e20c20186bbb3c","name":"Mark","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/9a5ae091c43730194cba7cabb5d65c1dc3f48d05caaddec6ff2319a1ce66376f?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/9a5ae091c43730194cba7cabb5d65c1dc3f48d05caaddec6ff2319a1ce66376f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9a5ae091c43730194cba7cabb5d65c1dc3f48d05caaddec6ff2319a1ce66376f?s=96&d=mm&r=g","caption":"Mark"},"sameAs":["https:\/\/x.com\/marketaylor"],"url":"https:\/\/marketaylor.synology.me\/?author=1"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/marketaylor.synology.me\/index.php?rest_route=\/wp\/v2\/posts\/1894","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marketaylor.synology.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/marketaylor.synology.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/marketaylor.synology.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/marketaylor.synology.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1894"}],"version-history":[{"count":7,"href":"https:\/\/marketaylor.synology.me\/index.php?rest_route=\/wp\/v2\/posts\/1894\/revisions"}],"predecessor-version":[{"id":1901,"href":"https:\/\/marketaylor.synology.me\/index.php?rest_route=\/wp\/v2\/posts\/1894\/revisions\/1901"}],"wp:attachment":[{"href":"https:\/\/marketaylor.synology.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1894"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/marketaylor.synology.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1894"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/marketaylor.synology.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1894"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}