Spring Boot 使用ActiveMQ“经典”迁移到Sping Boot 3

slmsl1lt  于 2022-12-04  发布在  Spring
关注(0)|答案(1)|浏览(351)

我尝试使用新的命名空间jakarta.xx(而不是javax.xx)迁移到Sping Boot 3,但是ActiveMQ“Classic”客户端尚未更新,已被弃用。是否有办法继续使用旧的ActiveMQ客户端?
我尝试了新的ActiveMQ Artemis客户端,但似乎它们不能与ActiveMQ“Classic”服务器互操作。包括旧的ActiveMQ客户端会导致无法使用JMSTemplate进行配置,因为JMSTemplate使用jakarta.xx,并期望来自jakarta.xx而不是javax.xx的ConnectionFactory

kmbjn2e3

kmbjn2e31#

正如您所注意到的,没有支持Jakarta命名空间JMS依赖项的ActiveMQ客户端,或者实际上没有支持JMS 2.0的ActiveMQ客户端,因此您确实需要迁移到其他客户端,例如ActiveMQ Artemis代理和ActiveMQ Artemis客户端或Qpid JMS AMQP客户端v2.1.0,它们都支持JMS 2.0并使用Jakarta API。
如果您坚持使用ActiveMQ 5.x,您可以尝试使用Qpid JMS v2.1.0客户端,该客户端使用Jakarata JMS API,但您需要稍微小心,因为5.x代理不支持JMS 2.0,因此API的某些部分可能会触发意外行为。5.x代理中的AMQP支持没有完全集成,JMS 2.因此,您可能会遇到在转向Artemis代理时看不到的问题。

相关问题