I have an application that is based on Spring 5 and it uses Apache activemq client and broker libraries. We are now migrating to Spring 6 which requires Jakarta namespaces as specified by JDK 17. But, there is no jakarta support in activemq-broker jar. The 5.18.1 release only supports jakarta for the activemq-client. Is there any alternative for the broker library that supports Jakarta? Or is it possible to continue using apache activemq for client and broker with Spring 6?
The only option that I think is possible is find an alternative for the entire apache activemq library that has support for jakarta in both client and broker
Edit: Version 6.x, with support for Spring 6.x support and Java 17 has been released at November 2023. Use that version!
Old answer: The activemq-client-jakarta.jar can be used to connect Jakarta-based applications to a remote broker running ActiveMQ 5.18.1 just fine. There is nothing over-the-wire that causes incompatibility between Jakarta-based ActiveMQ clients and javax.jms-based ActiveMQ broker.
The only time you need a Jakarta-based broker with Spring 6 is if you used embedded broker in your application or unit test.
Apache ActiveMQ is planning the 5.19.x series to support Jakarta. As of this post, there are only a few minor clean-ups needed before the PR will be merged.
If you need an early release, you can build a SNAPSHOT build from this PR and the Jakarta-based ActiveMQ broker works.