亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

根據視頻寫的代碼,無法序列化

先運行consumer端,運行成功,rabbitmq有寫入exchange和queue,接著運行producer端的測試程序,consumer端這邊報錯。

https://img1.sycdn.imooc.com//5ba08b220001e54f08730147.jpg

https://img1.sycdn.imooc.com//5ba08b2b000178e817940789.jpg

https://img1.sycdn.imooc.com//5ba08b510001c58b07550354.jpg

https://img1.sycdn.imooc.com//5ba08b5200017f9908280301.jpg

兩邊均有implements序列化接口,但是只要運行測試就報序列化出問題?。?!


正在回答

4 回答

第一次是照著老師的步驟沒發現問題,后來是自己重新做一遍的時候試了很長時間都是報這個錯,心累....

Caused by: org.springframework.amqp.support.converter.MessageConversionException: failed to convert serialized Message content

沒想到? 是包名的問題。。。必須統一,序列化id還必須一致。。。??

有點坑.....

0 回復 有任何疑惑可以回復我~

包名必須要一樣。這個太狠了。不知道什么梗

0 回復 有任何疑惑可以回復我~

在Util里建立一個類,把發送和接收端的Order對象轉化為JSON再發到隊列里/再監聽。然后轉化一下。

參考下https://www.toutiao.com/i6609789756479898116/?我也是百度到的

核心就是

方案1、消費者引用生產者項目中的消息體即Order.java

在消費者項目上【右鍵】->【Bulid Path】->【Configure Build Path】->【Projects】->【Add】 選擇生產者項目,然后消費者項目就可以引用生產者項目中類,這樣完全保證了兩個項目中JavaBean是一致的,所以能解決反序列失敗的問題

方案2、生產者在發送消息前將消息體轉換為JSONObject,消費者以JSONObject接收消息,再轉換為對應的JavaBean

0 回復 有任何疑惑可以回復我~

是包名的問題。。。必須統一,序列化id還必須一致。。。

1 回復 有任何疑惑可以回復我~
#1

須木一瓜

包名還有相同?
2018-11-14 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

根據視頻寫的代碼,無法序列化

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號