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

Spring Boot中转换ActiveMQ JMS消息的配置实现咨询

Spring Boot 配置JMS消息解码(Jackson转换器)

这里给你补全并整理好完整的配置代码,帮你实现基于Jackson的JMS消息解码:

完整配置代码

import org.springframework.context.annotation.Bean;
import org.springframework.jms.config.DefaultJmsListenerContainerFactory;
import org.springframework.jms.config.DefaultJmsListenerContainerFactoryConfigurer;
import org.springframework.jms.support.converter.MappingJackson2MessageConverter;
import org.springframework.jms.support.converter.MessageConverter;
import org.springframework.jms.support.converter.MessageType;
import javax.jms.ConnectionFactory;

@Configuration
public class JmsConfig {

    @Bean
    public JmsListenerContainerFactory<?> myFactory(ConnectionFactory connectionFactory,
                                                    DefaultJmsListenerContainerFactoryConfigurer configurer) {
        DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
        // 复用Spring Boot的默认JMS配置,包括基础的连接、会话等设置
        configurer.configure(factory, connectionFactory);
        // 设置自定义的Jackson消息转换器,用于JSON消息的编解码
        factory.setMessageConverter(jacksonJmsMessageConverter());
        return factory;
    }

    @Bean
    public MessageConverter jacksonJmsMessageConverter() {
        MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
        // 指定消息类型为TEXT,确保接收端能正确识别JSON格式的消息内容
        converter.setTargetType(MessageType.TEXT);
        // 可选:设置类型ID属性名,用于反序列化时匹配目标Java类(若消息携带类型信息则需要)
        converter.setTypeIdPropertyName("_type");
        return converter;
    }
}

关键细节说明

  • 复用默认配置:通过DefaultJmsListenerContainerFactoryConfigurer的configure方法,我们可以直接复用Spring Boot自动配置的JMS基础参数,不用手动重复配置连接池、会话模式等繁琐细节。
  • Jackson转换器核心作用:MappingJackson2MessageConverter是实现JSON消息与Java对象互转的核心组件,它会自动把收到的JSON格式JMS消息解码成对应的Java实体类,也能把Java对象编码成JSON消息发送。
  • 类型ID配置:如果你的业务需要在同一个队列中传递不同类型的Java对象,可以通过setTypeIdPropertyName指定一个属性名,消息发送时会带上类的全限定名,接收端就能自动匹配到对应的类完成解码。

内容的提问来源于stack exchange,提问作者Junchen Liu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:51:18