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

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

相关推荐
自动化代码美学9 小时前
【Python3.13】官网学习之控制流
开发语言·windows·python·学习
黄昏恋慕黎明10 小时前
spring MVC了解
java·后端·spring·mvc
wanhengidc11 小时前
云手机的软件核心是什么
运维·服务器·web安全·游戏·智能手机
百锦再12 小时前
第18章 高级特征
android·java·开发语言·后端·python·rust·django
芬加达12 小时前
jvm八股
运维·服务器·jvm
源码之家12 小时前
基于Python房价预测系统 数据分析 Flask框架 爬虫 随机森林回归预测模型、链家二手房 可视化大屏 大数据毕业设计(附源码)✅
大数据·爬虫·python·随机森林·数据分析·spark·flask
SalvoGao12 小时前
Python学习 | 怎么理解epoch?
数据结构·人工智能·python·深度学习·学习
小兔薯了12 小时前
11. Linux firewall 防火墙管理
linux·运维·服务器
RainbowSea12 小时前
13. Spring AI 的观测性
java·spring·ai编程
楚疏笃13 小时前
纯Python 实现 Word 文档转换 Markdown
python·word