消息序列化
Spring默认会把你发送的消息通过JDK序列化为字节发送给MQ,接收消息的时候,再把字节反序列化为Java对象。
我们可以配置JSON方式来序列化,这样体积更小,可读性更高。
引入依赖:
<dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-xml</artifactId>
</dependency>
添加配置类:
@Bean
public MessageConverter jsonMessageConverter(){return new Jackson2JsonMessageConverter();
}
接收和发送服务都需要添加。
发一个map消息:
@Testpublic void testSendMap() throws InterruptedException {// 准备消息Map<String,Object> msg = new HashMap<>();msg.put("name", "小宇");msg.put("age", 18);// 发送消息rabbitTemplate.convertAndSend("simple.queue", msg);}
}
可以看到确实以json格式传输到mq了,非常不错。