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;
}

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

相关推荐
胖哥真不错1 小时前
Python实现NOA星雀优化算法优化随机森林回归模型项目实战
python·机器学习·项目实战·随机森林回归模型·noa星雀优化算法
编程咕咕gu-1 小时前
从零开始玩python--python版植物大战僵尸来袭
开发语言·python·python基础·pygame·python教程
代码的乐趣2 小时前
支持selenium的chrome driver更新到135.0.7049.42
chrome·python·selenium
共享家95272 小时前
Linux常用命令详解:从基础到进阶
linux·服务器·数据库
慈云数据3 小时前
从开发到上线:基于 Linux 云服务器的前后端分离项目部署实践(Vue + Node.js)
linux·服务器·vue.js
SsummerC5 小时前
【leetcode100】数组中的第K个最大元素
python·算法·leetcode
伊玛目的门徒5 小时前
解决backtrader框架下日志ValueError: I/O operation on closed file.报错(jupyternotebook)
python·backtrader·量化·日志管理·回测
java1234_小锋5 小时前
一周学会Pandas2 Python数据处理与分析-编写Pandas2 HelloWord项目
python·pandas·python数据分析·pandas2
凯强同学6 小时前
第十四届蓝桥杯大赛软件赛省赛Python 大学 C 组:7.翻转
python·算法·蓝桥杯
sqmeeting7 小时前
Linux NUC小主机化身视频会议服务器: 技术优势与部署实战
linux·服务器·windows·音视频·实时音视频