當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
SpringAMQP--消息转换器
生活随笔
收集整理的這篇文章主要介紹了
SpringAMQP--消息转换器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
消息轉換器
之前說過,Spring會把你發送的消息序列化為字節發送給MQ,接收消息的時候,還會把字節反序列化為Java對象。
只不過,默認情況下Spring采用的序列化方式是JDK序列化。眾所周知,JDK序列化存在下列問題:
-
數據體積過大
-
有安全漏洞
-
可讀性差
我們來測試一下。
測試默認轉換器
我們修改消息發送的代碼,發送一個Map對象:
@Test public void testSendMap() throws InterruptedException {// 準備消息Map<String,Object> msg = new HashMap<>();msg.put("name", "Jack");msg.put("age", 21);// 發送消息rabbitTemplate.convertAndSend("simple.queue","", msg); }停止consumer服務
發送消息后查看控制臺:
配置JSON轉換器
顯然,JDK序列化方式并不合適。我們希望消息體的體積更小、可讀性更高,因此可以使用JSON方式來做序列化和反序列化。
在publisher和consumer兩個服務中都引入依賴:
<dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-xml</artifactId><version>2.9.10</version> </dependency>配置消息轉換器。
在啟動類中添加一個Bean即可:
@Bean public MessageConverter jsonMessageConverter(){return new Jackson2JsonMessageConverter(); }總結
以上是生活随笔為你收集整理的SpringAMQP--消息转换器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringAMQP--入门案例的消息发
- 下一篇: SpringAMQP--入门案例的消息接