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

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

相关推荐
C-DHEnry19 分钟前
Linux 不小心挂载错磁盘导致无法启动系统咋办
linux·运维·服务器·雨云
q***615034 分钟前
eclipse配置Spring
java·spring·eclipse
JosieBook44 分钟前
【若依框架】若依前后端分离项目怎么部署到服务器?
运维·服务器
f***68601 小时前
【Sql Server】sql server 2019设置远程访问,外网服务器需要设置好安全组入方向规则
运维·服务器·安全
q***58191 小时前
Spring全家桶简介
java·后端·spring
谅望者1 小时前
数据分析笔记14:Python文件操作
大数据·数据库·笔记·python·数据挖掘·数据分析
l1t1 小时前
调用python函数的不同方法效率对比测试
开发语言·数据库·python·sql·duckdb
2501_941111401 小时前
使用Scrapy框架构建分布式爬虫
jvm·数据库·python
凌波粒1 小时前
SpringMVC基础教程(4)--Ajax/拦截器/文件上传和下载
java·前端·spring·ajax
DeadPool loves Star1 小时前
利用笔记本与SSH转发给服务器上的虚拟机通网
运维·服务器·ssh