SpringBoot2.6.0版本的RabbitMQ反序列化异常问题:MessageConversionException. 使用同一实体类反序列化异常配置。

springboot: 2.6.0
RabbitMQ 3.9.11

实体类UserInfo

private Integer id;
private String lastName;
getset

配置json序列化:

@Configuration
public class AmqpConfig {

    @Bean
    public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory){
        RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);
        rabbitTemplate.setMessageConverter(new Jackson2JsonMessageConverter());
        return rabbitTemplate;
    }

测试:
User user=new User();
user.setId(1);
user.setUsername(“张三”);
user.setPassword(“123456”);
rabbitTemplate.convertAndSend(“amq.fanout”,“tt”,user);


Exchange	amq.fanout
Routing Key	tt
Redelivered	○
Properties	
priority:	0
delivery_mode:	2
headers:	
__TypeId__:	thing1
content_encoding:	UTF-8
content_type:	application/json
Payload
79 bytes
Encoding: string
{"id":1,"username":"战三","password":"123456","creatTime":null,"gender":null}

正常发送消息。

此时如果使用 @RabbitListener(queues = " ")
运行报错:MessageConversionException 反序列化失败了。

需要加入配置:
官方文档

@Bean
public Jackson2JsonMessageConverter jsonMessageConverter() {
   
    Jackson2JsonMessageConverter jsonConverter = new Jackson2JsonMessageConverter();
    jsonConverter
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值