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();
    }
}
相关推荐
wuminyu8 小时前
专家视角看Java字节码加载与存储指令机制
java·linux·c语言·jvm·c++
KmSH8umpK9 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第八篇
数据库·redis·分布式
小码哥_常9 小时前
Spring Boot:别再重复造轮子,这些内置功能香麻了
后端
皮皮林5519 小时前
OpenFeign 首次调用卡 3 秒?八年老开发扒透 5 个坑,实战优化到 100ms!
后端
callJJ10 小时前
Spring Data Redis 两种编程模型详解:同步 vs 响应式
java·spring boot·redis·python·spring
海兰10 小时前
【第27篇】Micrometer + Zipkin
人工智能·spring boot·alibaba·spring ai
千寻girling10 小时前
《 Git 详细教程 》
前端·后端·面试
wbs_scy10 小时前
Linux线程同步与互斥(三):线程同步深度解析之POSIX 信号量与环形队列生产者消费者模型,从原理到源码彻底吃透
java·开发语言
KmSH8umpK11 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第七篇
数据库·redis·分布式
海兰11 小时前
【第28篇】可观测性实战:LangFuse 方案详解
人工智能·spring boot·alibaba·spring ai