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 分钟前
06.Linux用户权限相关命令
linux·运维·服务器
源码之家5 分钟前
大数据毕业设计汽车推荐系统 Django框架 可视化 协同过滤算法 数据分析 大数据 机器学习(建议收藏)✅
大数据·python·算法·django·汽车·课程设计·美食
HealthScience6 分钟前
COM Surrogate的dllhost.exe高占用(磁盘)解决
python
Chris _data7 分钟前
S7-1500 常用工业通信协议详解与对比
运维·服务器·网络
站大爷IP10 分钟前
用 Python 30 分钟做出自己的记事本
python
曲幽10 分钟前
FastAPI里玩转Redis和数据库的正确姿势,别让异步任务把你坑哭了!
redis·python·mysql·fastapi·web·celery·sqlalchemy·task·backgroundtask
种时光的人11 分钟前
Java+AI 无缝衔接:Spring AI 聊天模型入门到精通
java·人工智能·spring·ai·spring ai
未知鱼17 分钟前
Python安全开发之简易csrf检测工具
python·安全·csrf
dashizhi201518 分钟前
服务器共享文件禁止下载、禁止拖动共享文件到本地磁盘、禁止拷贝共享文件
运维·服务器·windows
何政@24 分钟前
Agent Skills 完全指南:从概念到自定义实践
人工智能·python·大模型·claw·404 not found 罗