消息序列化
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了,非常不錯。