Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reintroduce support for ActiveMQ #35048

Closed
wants to merge 1 commit into from

Conversation

bendiscz
Copy link
Contributor

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 6349250 and removing embedded in-memory broker support. The embedded broker support is being worked on for ActiveMQ 5.19.x.

Partially fixes #34011.

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged label Apr 18, 2023
@snicoll snicoll changed the title Reintroduce ActiveMQ starter (without embedded broker for now) Reintroduce support for ActiveMQ Apr 18, 2023
@snicoll snicoll added type: enhancement A general enhancement and removed status: waiting-for-triage An issue we've not yet triaged labels Apr 18, 2023
@snicoll snicoll added this to the 3.1.0-RC1 milestone Apr 18, 2023
@snicoll snicoll self-assigned this Apr 18, 2023
snicoll pushed a commit to snicoll/spring-boot that referenced this pull request Apr 19, 2023
snicoll added a commit to snicoll/spring-boot that referenced this pull request Apr 19, 2023
snicoll added a commit that referenced this pull request Apr 19, 2023
@snicoll snicoll closed this in 60eb01b Apr 19, 2023
@snicoll
Copy link
Member

snicoll commented Apr 19, 2023

Thanks again @bendiscz. I restored the smoke test using Testcontainers.

@r0main
Copy link

r0main commented May 25, 2023

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 :
image

Best regards,
Romain

@spencergibb
Copy link
Member

@scottfrederick
Copy link
Contributor

scottfrederick commented May 25, 2023

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

@wilkinsona
Copy link
Member

I've opened spring-io/start.spring.io#1194 to update start.spring.io.

@r0main
Copy link

r0main commented May 26, 2023

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

@wilkinsona
Copy link
Member

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.

@r0main
Copy link

r0main commented May 26, 2023

Oh yes you're right I missed this part ! Thanks a lot again for reactivity.

@sukanth

This comment was marked as outdated.

@philwebb

This comment was marked as outdated.

@r0main

This comment was marked as outdated.

@snicoll

This comment was marked as outdated.

@r0main

This comment was marked as resolved.

@snicoll

This comment was marked as resolved.

@kedaniilakis
Copy link

kedaniilakis commented Aug 18, 2023

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.

@snicoll
Copy link
Member

snicoll commented Aug 18, 2023

@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.

@mattrpav
Copy link
Contributor

mattrpav commented Aug 18, 2023

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.

@kedaniilakis
Copy link

@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

@mattrpav
Copy link
Contributor

@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.

@kedaniilakis

This comment was marked as off-topic.

@snicoll

This comment was marked as resolved.

@mattrpav

This comment was marked as resolved.

@mattrpav
Copy link
Contributor

mattrpav commented Nov 17, 2023

@kedaniilakis ActiveMQ 6.0.0 is released and artifacts are now available via Maven Central. This provides support for Jakarta on the broker side.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: enhancement A general enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Reintroduce support for Active MQ