最近在项目中遇到一个问题,应用部署到tomcat后启动报错,异常的大致意思是反序列话失败。dubbo中开启的序列化方式为kyro,自己对dubbo并不怎么熟悉,迷迷糊糊查了一圈。最后错误原因是因为消费者和提供者中所使用的实体类不同,在提供者中对应的实体多了一个字段,但是消费者没有!!!!!。
都说kryo兼容性不够好,不过我将序列化方式改为dubbo默认的方式一样不行,默认方式需要所有需要网络传输的实体类都实现序列化接口,但是kryo并不需要。所以,若是需要在默认的序列化方式和kryo方式直接进行随意切换,建议将所有实体类都实现序列化接口!