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();
    }
}
相关推荐
独自破碎E3 小时前
Java中的Exception和Error有什么区别?
java·开发语言
小徐Chao努力3 小时前
【Langchain4j-Java AI开发】08-向量嵌入与向量数据库
java·数据库·人工智能
qq_377112373 小时前
从零开始深入理解并发、线程与等待通知机制
java·开发语言
小徐Chao努力3 小时前
【Langchain4j-Java AI开发】07-RAG 检索增强生成
java·人工智能·python
JoannaJuanCV3 小时前
自动驾驶—CARLA仿真(30)交通管理器(Traffic Manager)
java·redis·自动驾驶
小高Baby@4 小时前
使用Go语言中的Channel实现并发编程
开发语言·后端·golang
乐韵天城4 小时前
SpringBoot中如何手动开启数据库事务
数据库·spring boot
Knight_AL4 小时前
Spring AOP 中 JoinPoint 使用指南
java·python·spring
jmxwzy4 小时前
点赞系统问题
java·redis·tidb·pulsar
ss2734 小时前
ThreadPoolExecutor:自定义线程池参数
java·开发语言