Spring AMQP ----消息转换器

为什么要有消息转换器??

我们在传递消息的时候,可能会传递不同类型的消息,比如map,list等集合,甚至更加复杂的消息,但是AMQP的默认消息转换器是java提供的,他在解析的时候会进行序列化变成一段乱码。


这是一段控制台消息,采用的map传递

可以看见,直接就是乱码了,这个时候,就需要使用Jackson提供的消息转换器来保证消息的可读性。

如何使用?

首先需要导入依赖

XML 复制代码
<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-xml</artifactId>
    <version>2.9.10</version>
</dependency>

然后在用到mq的地方添加以下代码

java 复制代码
@Bean
public MessageConverter messageConverter(){
    // 1.定义消息转换器
    Jackson2JsonMessageConverter jackson2JsonMessageConverter = new Jackson2JsonMessageConverter();
    // 2.配置自动创建消息id,用于识别不同消息,也可以在业务中基于ID判断是否是重复消息
    jackson2JsonMessageConverter.setCreateMessageIds(true);
    return jackson2JsonMessageConverter;
}

这个时候再去控制台看信息,就会发现消息的可读性变高了

相关推荐
BBB努力学习程序设计2 分钟前
Python函数式编程:优雅的代码艺术
python·pycharm
2501_940943917 分钟前
体系课\ Python Web全栈工程师
开发语言·前端·python
Protein_zmm23 分钟前
第一章 计算机网络和因特网(下)
服务器·计算机网络·php
dyxal37 分钟前
非对称加密:彻底解决密钥分发难题的数字安全革命
服务器·网络·安全
田姐姐tmner38 分钟前
Python切片
开发语言·python
t***31651 小时前
爬虫学习案例3
爬虫·python·学习
大云计算机毕设1 小时前
【2026计算机毕设选题】计算机毕设全新推荐项目选题指南(70+精选热门方向)
spring·数据分析·毕业设计·课程设计·毕设
空空kkk1 小时前
SpringMVC——拦截器
java·数据库·spring·拦截器
AI小云2 小时前
【数据操作与可视化】Pandas数据处理-其他操作
python·pandas
大佬,救命!!!2 小时前
更换适配python版本直接进行机器学习深度学习等相关环境配置(非仿真环境)
人工智能·python·深度学习·机器学习·学习笔记·详细配置