Apache activemq-broker jar 的替代方案是什么,它支持 Jakarta(如 JDK 17 和 Spring 6)?

问题描述 投票:0回答:2

我有一个基于 Spring 5 的应用程序,它使用 Apache activemq 客户端和代理库。我们现在正在迁移到 Spring 6,它需要 JDK 17 指定的 Jakarta 命名空间。但是,activemq-broker jar 中没有 jakarta 支持。 5.18.1 版本仅支持 jakarta 的 activemq-client。支持 Jakarta 的经纪商库有其他选择吗?或者是否可以在 Spring 6 中继续使用 apache activemq 作为客户端和代理?

我认为唯一可能的选择是为整个 apache activemq 库找到一个替代方案,该库在客户端和代理中都支持 jakarta

jms activemq message-queue spring-jms messagebroker
2个回答
2
投票

activemq-client-jakarta.jar 可用于将基于 Jakarta 的应用程序连接到运行 ActiveMQ 5.18.1 的远程代理。没有任何在线方式会导致基于 Jakarta 的 ActiveMQ 客户端和基于 javax.jms 的 ActiveMQ 代理之间不兼容。

您唯一需要使用基于 Jakarta 的 Spring 6 代理的情况是您在应用程序或单元测试中使用了嵌入式代理。

Apache ActiveMQ 正在计划 5.19.x 系列来支持 Jakarta。截至这篇文章,在合并 PR 之前只需要进行一些小的清理。

如果您需要早期版本,您可以从此 PR 构建快照版本,并且基于 Jakarta 的 ActiveMQ 代理可以工作。

参考:https://github.com/apache/activemq/pull/996


0
投票

@Justin,关于经典和 Artemis MQ 的差异,是否有计划为 Oracle 等其他数据库添加 jdbc 持久性。根据文档,对 JDBC 持久性的支持有限,截至目前仅支持 postgres、MySQL

© www.soinside.com 2019 - 2024. All rights reserved.