You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 3升级后JMS失效:javax转jakarta.ConnectionFactory连接异常

Spring Boot 3.1.0 JMS升级问题解决建议

问题根源解释

  1. 默认Broker URL变化原因:Spring Boot 3.x基于Jakarta EE 9+规范,原javax.jms.ConnectionFactory对应ActiveMQ 5.x客户端(默认使用内嵌VM broker,URL为vm://localhost?broker.persistent=false);升级后jakarta.jms.ConnectionFactory默认适配ActiveMQ Artemis(Spring Boot 3官方默认JMS实现),其默认配置为连接外部TCP broker,URL是tcp://localhost:61616,这就是默认值差异的核心原因。

  2. VM Transport不识别问题:手动指定vm://localhost报错,是因为当前依赖的JMS客户端(Artemis)不支持ActiveMQ 5.x的vm transport scheme,或缺少对应内嵌broker的依赖包。

具体解决方案

根据需求选择以下方案之一:

方案一:使用Spring Boot 3默认的Artemis内嵌Broker(推荐)

无需手动指定broker URL,通过配置启用内嵌模式即可:

  1. 确保依赖使用Spring Boot官方的Artemis starter:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-artemis</artifactId>
</dependency>
  1. 在application.properties或application.yml中添加配置:
spring.artemis.mode=embedded
spring.artemis.embedded.persistent=false

配置后会自动创建内嵌的Artemis broker,实现和原版本一致的本地内嵌运行效果。

方案二:继续使用ActiveMQ 5.x的内嵌VM Broker

若需保留原ActiveMQ 5.x的使用方式,需调整依赖并配置:

  1. 添加ActiveMQ Jakarta兼容版的客户端和broker依赖:
<dependency>
    <groupId>org.apache.activemq</groupId>
    <artifactId>activemq-client-jakarta</artifactId>
    <version>5.18.3</version> <!-- 选择与Spring Boot 3.1.0兼容的版本 -->
</dependency>
<dependency>
    <groupId>org.apache.activemq</groupId>
    <artifactId>activemq-broker</artifactId>
    <version>5.18.3</version>
</dependency>
  1. 在配置文件中指定正确的broker URL:
spring.activemq.broker-url=vm://localhost?broker.persistent=false

方案三:连接外部独立Broker

若需连接外部部署的ActiveMQ或Artemis服务:

  1. 确保外部Broker已正常启动(比如ActiveMQ默认端口61616)
  2. 在配置文件中指定对应TCP URL:
# 连接外部ActiveMQ 5.x
spring.activemq.broker-url=tcp://localhost:61616

# 连接外部Artemis
spring.artemis.broker-url=tcp://localhost:61616
spring.artemis.user=admin
spring.artemis.password=admin

代码说明

你提供的JmsConfig配置类无需修改,DefaultJmsListenerContainerFactoryConfigurer会自动适配新的jakarta.jms.ConnectionFactory,只要ConnectionFactory的配置正确,监听器工厂就能正常工作。

内容的提问来源于stack exchange,提问作者Koin Arab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 00:32:50