Adds ActiveMQ starter using the new activemq-client-jakarta:5.18.1 ActiveMQ client library that supports JMS 3.0.
Most of this patch is based on reverting commit 63492507b437d1d5a14bbbb4056b27d4166120ce and removing embedded in-memory broker support. The embedded broker support is being worked on for ActiveMQ 5.19.x.
Partially fixes #34011.
Comment From: snicoll
Thanks again @bendiscz. I restored the smoke test using Testcontainers.
Comment From: r0main
Hi,
There is no mention of the reintroduction of ActiveMQ support in the release notes of Spring Boot 3.1 https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.1-Release-Notes
However this PR seems to be merged in 3.1.0-RC1 and reintroduce (to my understanding) ActiveMQ support in Spring Boot >= 3.1.
I think that the release notes is missing this point ? But am I right ? Or is there still work to do to have the same level of support for ActiveMQ in Spring Boot >= 3.1 than there is in Spring Boot 2.X ?
Please note that the 3.0 release notes ( https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide ) didn't mention the drop of ActiveMQ support, only the migration guide did mentioned it ( https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#other-removals ). As there is no migration guide for Spring Boot 3.1 it may be the reason why it is not mentioned ?
Also Spring Initializr is showing that ActiveMQ is not supported in 3.1.0 :
Best regards, Romain
Comment From: spencergibb
It is here, at least: https://github.com/spring-projects/spring-boot/releases/tag/v3.1.0-RC1
Comment From: scottfrederick
It looks like we missed this in the Spring Boot 3.1.0-RC1 release notes, so it wasn't included in the consolidated 3.1 release notes. I've added it here: https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.1-Release-Notes#activemq-support
Comment From: wilkinsona
I've opened https://github.com/spring-io/start.spring.io/issues/1194 to update start.spring.io.
Comment From: r0main
Hi,
Thanks a lot all for your reactivity. Looking at @wilkinsona comment here spring-io/start.spring.io#1194 I understand that the support for ActiveMQ is only partial ? Or am I wrong ?
From the comment I understand that this PR reintroduced support of ActiveMQ for applications connecting to a remote ActiveMQ ? Does this mean that if I have a Spring Boot 2.7 application instantiating an embedded ActiveMQ I can't migrate to Spring Boot 3.1 ?
Thanks for the clarification !
Best regards, Romain
Comment From: wilkinsona
Does this mean that if I have a Spring Boot 2.7 application instantiating an embedded ActiveMQ I can't migrate to Spring Boot 3.1 ?
Yes. ActiveMQ only supports the jakarta.jms APIs in its client APIs at this time. The embedded broker still uses javax.jms so it isn't Jakarta EE 9+ compatible. As @bendiscz said above, the embedded broker side of things is being worked on for ActiveMQ 5.19.x.
Comment From: r0main
Oh yes you're right I missed this part ! Thanks a lot again for reactivity.
Comment From: sukanth
@snicoll do you know when activemq-broker 5.19.x is going to be released with activemq broker support with jakarta ?
Comment From: philwebb
@sukanth We have no insight into the ActiveMQ project, you would need to ask them.
Comment From: r0main
@sukanth FYI I found this on ActiveMQ mailing list : https://lists.apache.org/list?users@activemq.apache.org:lte=1M:wildfly
@snicoll if ActiveMQ Classic 5.19.X is released in September. Do you think Spring Boot could reintroduce the support of the ActiveMQ broker in Spring Boot 3.2 ?
Comment From: snicoll
@r0main please don't post screenshots.
Do you think Spring Boot could reintroduce the support of the ActiveMQ broker in Spring Boot 3.2 ?
I am confused. You're commenting on the issue that reintroduced support for it in Spring Boot 3.1.
Comment From: r0main
Hi,
Ok sorry about the screenshot. I'm commenting on this issue because Spring Boot 3.1 only reintroduced the support of ActiveMQ client. Support of ActiveMQ broker is still missing, waiting for the 5.19.X release of ActiveMQ (which will support Jakarta).
Comment From: snicoll
I think "embedded" is quite crucial to understand what you were talking about. This issue is closed, ActiveMQ 5.19 isn't released yet so there isn't anything actionable at this time. We'll do our best based on what's available when it'll be.
Comment From: kedaniilakis
Is spring going to support ActiveMQ "classic" longterm or is there a tendency towards ActiveMQ-Artemis? ActiveMQ-classic was deprecated for SpringBoot 3 and reintroduced with the 3.1, which confused us a bit. This information would be helpful to decide if we want to remove activeMQ-classic in favor of artemis which already supports the jakarta migration.
Comment From: snicoll
@kedaniilakis The answer should be provided by the ActiveMQ team, not us. As long as ActiveMQ classic is supported and we can support it consistently with our dependency management, I don't see a reason to drop support. The fact that we've restored support once they complete the Jakarta migration should be a good indicator of that.
Comment From: mattrpav
Hi- @kedaniilakis @snicoll I'm leading the Jakarta support for ActiveMQ 5.x.
The short answer is 'yes'. ActiveMQ 5.x will support Jakarta and be able to be fully brought back into Spring 6. The PR for broker support is code complete and in-review. We are targeting a September release for ActiveMQ 5.19.0 with Jakarta support.
ref: ActiveMQ server-side Jakarta support PR
source: I'm the ActiveMQ committer leading the Jakarta migration.
Comment From: kedaniilakis
@mattrpav Is there a release plan about the 5.19? You are targeting a September release, do you know if it is the beginning-mid-end of September? Thank you for your answers
Comment From: mattrpav
@kedaniilakis the big Jakarta PR is in final review with tentative plans to merge next week. After that 1-2 weeks to do any minor clean-up tasks and cut release. Mid-September is a reasonable estimate.
Comment From: kedaniilakis
@mattrpav Is there any news regarding this? I read here https://activemq.apache.org/new-features-in-60 that Once Artemis reaches a sufficient level of feature parity with the 5.x code-base it will become ActiveMQ 6. Initial migration documentation is available.
Will the 5.19 actually be released or is the 6.x.x the new version? Is there an updated timeline?
Comment From: snicoll
Can you please stop asking here about the release plan of another project. Direct this discussion to the ActiveMQ team. I know @mattrpav is watching but this discussion does not belong here.
Comment From: mattrpav
@kedaniilakis the release for Jakarta-based ActiveMQ 5.x is planned to be avail shortly. Next 1-2 weeks. All the Jakarta work is code complete.
Comment From: mattrpav
@kedaniilakis ActiveMQ 6.0.0 is released and artifacts are now available via Maven Central. This provides support for Jakarta on the broker side.