为什么要有消息转换器??
我们在传递消息的时候,可能会传递不同类型的消息,比如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; }
这个时候再去控制台看信息,就会发现消息的可读性变高了
Spring AMQP ----消息转换器
小汤猿人类2025-01-07 12:16
相关推荐
学linux的QQ蛋18 分钟前
Linux 文件 IO vs 标准 IO:缓冲区、目录操作、常用函数汇总luteres19 分钟前
Spring学习笔记比兔代理22 分钟前
静态住宅IP在品牌保护中的角色:稳定出口与长期监测深蓝海拓1 小时前
基于QtPy (PySide6) 的PLC-HMI工程实战记录(七)创建适合HMI项目的数字输入/显示类部件MartinYeung51 小时前
[论文学习]MPIB:医疗提示注入基准——针对LLM临床安全性的系统性评估用户8356290780511 小时前
使用 Python 为 PowerPoint 演示文稿添加评论小尘要自信1 小时前
软件远控失效以后怎么办?玩客云 + One-KVM 实现 BIOS 级远程画面与键鼠控制阿图灵2 小时前
OpenCV 绘图五件套:画圆、文本、线段、矩形与椭圆web行路人2 小时前
AI全栈之旅 · 第一周总结
