SpringBoot 消息队列RabbitMQ 消息转换器 改变消息的发送格式 节省内存

生产者

java 复制代码
private  final RabbitTemplate rabbitTemplate;
@GetMapping("/putRecord") //插入记录
public Result userMessage(){
    Map<String ,String> map =new HashMap<>();
    map.put("name","生产队的驴");
    map.put("qq","147258");
    rabbitTemplate.convertAndSend("csdn.fanout","a",map);
    return  Result.success("操作成功",null);
}

生产者正常发送消息,而到了队列就变成了这样,自动转换成字节导致体积变大。

rO0ABXNyABFqYXZhLnV0aWwuSGFzaE1hcAUH2sHDFmDRAwACRgAKbG9hZEZhY3RvckkACXRocmVzaG9sZHhwP0AAAAAAAAx3CAAAABAAAAACdAACcXF0AAYx

NDcyNTh0AARuYW1ldAAP55Sf5Lqn6Zif55qE6am0eA==

消息转换器

导入JSON依赖进行序列化

xml 复制代码
     <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-xml</artifactId>
        </dependency>

声明依赖

在springboot的启动类上声明

java 复制代码
@SpringBootApplication
public class Demo1Application {

    public static void main(String[] args) {
        SpringApplication.run(Demo1Application.class, args);
    }

    @Bean
    public MessageConverter jackonMessageConverter(){
        return  new Jackson2JsonMessageConverter();
    }
}
相关推荐
ArabySide2 分钟前
【Java】重构之善用多态解耦,记录一次模板方法实践
java·重构·模板方法模式
wanghowie8 分钟前
01.03 Java基础篇|面向对象核心与设计实践
java·开发语言
vortex513 分钟前
ORM是什么?如何理解ORM?ORM的优缺点?
java·数据库·sql·mysql·oracle·orm
Algebraaaaa15 分钟前
为什么线程阻塞要用.join而不是.wait
java·c++·python
王中阳Go16 分钟前
12 Go Eino AI应用开发实战 | 消息队列架构
人工智能·后端·go
是苏浙19 分钟前
零基础入门Java之设计图书管理系统
java·开发语言
墨雪不会编程25 分钟前
C++内存管理深度剖析
java·开发语言·c++
BBB努力学习程序设计28 分钟前
Java Scanner完全指南:让程序与用户对话
java
BBB努力学习程序设计31 分钟前
Java面向对象编程:封装、继承与多态深度解析
java
沐森31 分钟前
Rust 的CPU和IO操作
后端