[spring-projects/spring-boot]重新引入对 ActiveMQ 的支持

2024-06-26 56 views
4

activemq-client-jakarta:5.18.1使用支持 JMS 3.0 的新 ActiveMQ 客户端库添加 ActiveMQ 启动器。

此补丁的大部分内容基于恢复提交 63492507b437d1d5a14bbbb4056b27d4166120ce 并删除嵌入式内存代理支持。嵌入式代理支持正在针对 ActiveMQ 5.19.x 进行开发。

部分修复#34011。

回答

7

再次感谢@bendiscz。我使用 Testcontainers 恢复了烟雾测试。

2

你好,

Spring Boot 3.1 发行说明中没有提及重新引入 ActiveMQ 支持https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.1-Release-Notes

然而这个 PR 似乎已合并到 3.1.0-RC1 中,并在 Spring Boot >= 3.1 中重新引入(据我所知)ActiveMQ 支持。

我认为发行说明遗漏了这一点?但我是对的吗?或者是否还需要做一些工作才能在 Spring Boot >= 3.1 中对 ActiveMQ 的支持级别与 Spring Boot 2.X 中相同?

请注意,3.0 发行说明(https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide)未提及放弃 ActiveMQ 支持,只有迁移指南提及了这一点(https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#other-removals)。由于没有 Spring Boot 3.1 的迁移指南,这可能是未提及的原因?

Spring Initializr 还显示 3.1.0 不支持 ActiveMQ: 图像

祝好,罗曼

8

你好,

非常感谢大家的积极响应。查看 @wilkinsona 的评论 spring-io/start.spring.io#1194 我了解到对 ActiveMQ 的支持只是部分支持?还是我错了?

从评论中我了解到,此 PR 重新引入了对连接到远程 ActiveMQ 的应用程序的 ActiveMQ 支持?这是否意味着如果我有一个实例化嵌入式 ActiveMQ 的 Spring Boot 2.7 应用程序,我就无法迁移到 Spring Boot 3.1?

感谢您的澄清!

祝好,罗曼

5

这是否意味着如果我有一个 Spring Boot 2.7 应用程序实例化嵌入式 ActiveMQ,我就无法迁移到 Spring Boot 3.1?

是的。ActiveMQ 目前仅在其客户端 API 中支持 jakarta.jms API。嵌入式代理仍使用 javax.jms,因此它与 Jakarta EE 9+ 不兼容。正如 @bendiscz 上面所说,嵌入式代理方面正在为 ActiveMQ 5.19.x 进行开发。

9

哦,是的,你说得对,我错过了这个部分!再次感谢你的反应。

8

@snicoll 您知道 activemq-broker 5.19.x 何时会发布并支持 jakarta 的 activemq broker 吗?

5

@sukanth 我们对 ActiveMQ 项目没有深入了解,您需要询问他们。

9

@r0main 请不要发布截图。

您认为 Spring Boot 可以在 Spring Boot 3.2 中重新引入对 ActiveMQ 代理的支持吗?

我很困惑。您正在评论在 Spring Boot 3.1 中重新引入对其支持的问题。

5

你好,

好的,抱歉截图了。我之所以评论这个问题,是因为 Spring Boot 3.1 仅重新引入了对 ActiveMQ 客户端的支持。ActiveMQ 代理的支持仍然缺失,等待 ActiveMQ 的 5.19.X 版本(将支持 Jakarta)。

9

我认为“嵌入式”对于理解您所说的话至关重要。此问题已关闭,ActiveMQ 5.19 尚未发布,因此目前没有任何可操作的内容。我们将根据可用情况尽力而为。

6

Spring 是否会长期支持 ActiveMQ“classic”,还是有转向 ActiveMQ-Artemis 的趋势?ActiveMQ-classic 在 SpringBoot 3 中被弃用,并在 3.1 中重新引入,这让我们有点困惑。这些信息将有助于决定我们是否要删除 activeMQ-classic 而支持已经支持 jakarta 迁移的 artemis。

6

@kedaniilakis 答案应该由 ActiveMQ 团队提供,而不是我们提供。只要 ActiveMQ classic 受支持,并且我们可以通过依赖管理持续支持它,我认为没有理由放弃支持。一旦他们完成 Jakarta 迁移,我们就会恢复支持,这一事实应该是一个很好的指标。

1

你好-@kedaniilakis @snicoll 我负责对 ActiveMQ 5.x 的雅加达支持。

简短的回答是“是”。ActiveMQ 5.x 将支持 Jakarta,并能够完全恢复到 Spring 6。代理支持的 PR 代码完整且正在审核中。我们计划在 9 月发布支持 Jakarta 的 ActiveMQ 5.19.0。

ref:ActiveMQ 服务器端 Jakarta 支持 PR

来源:我是领导雅加达迁移的 ActiveMQ 提交者。

3

@mattrpav 5.19 有发布计划吗?您计划在 9 月发布,您知道是不是在 9 月初至 9 月中下旬吗?感谢您的回答

8

@kedaniilakis 雅加达大型 PR 正在进行最终审查,暂定于下周合并。之后需要 1-2 周的时间进行一些小的清理工作并发布版本。合理的时间是 9 月中旬。

4

@mattrpav 有这方面的新闻吗?我在这里看到https://activemq.apache.org/new-features-in-60,一旦 Artemis 的功能与 5.x 代码库达到足够的水平,它就会成为 ActiveMQ 6。初始迁移文档可用。

5.19 真的会发布吗?还是 6.xx 是新版本?有更新的时间表吗?

3

你能不能别再在这里问其他项目的发布计划了。把这个讨论直接交给 ActiveMQ 团队。我知道 @mattrpav 正在关注,但这个讨论不属于这里。

5

@kedaniilakis 基于 Jakarta 的 ActiveMQ 5.x 版本计划很快发布。接下来的 1-2 周。所有 Jakarta 工作的代码都已完成。