根据视频写的代码,无法序列化
先运行consumer端,运行成功,rabbitmq有写入exchange和queue,接着运行producer端的测试程序,consumer端这边报错。
两边均有implements序列化接口,但是只要运行测试就报序列化出问题!!!
先运行consumer端,运行成功,rabbitmq有写入exchange和queue,接着运行producer端的测试程序,consumer端这边报错。
两边均有implements序列化接口,但是只要运行测试就报序列化出问题!!!
2018-09-18
在Util里建立一个类,把发送和接收端的Order对象转化为JSON再发到队列里/再监听。然后转化一下。
参考下https://www.toutiao.com/i6609789756479898116/ 我也是百度到的
核心就是
方案1、消费者引用生产者项目中的消息体即Order.java
在消费者项目上【右键】->【Bulid Path】->【Configure Build Path】->【Projects】->【Add】 选择生产者项目,然后消费者项目就可以引用生产者项目中类,这样完全保证了两个项目中JavaBean是一致的,所以能解决反序列失败的问题
方案2、生产者在发送消息前将消息体转换为JSONObject,消费者以JSONObject接收消息,再转换为对应的JavaBean
举报