一场没有序列化引发的血案

2019-05-08 07:33:34来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

分析思路

  1. 先分析了该服务的提供方有没有在注册中心注册,检查后发现有注册,并且版本号与调用的客户端配置的是一样的。
  2.  分析了RPC接口返回的exception 信息 返现了一条关键错误提示:【Caused by: java.lang.IllegalStateException: Serialized class com.xx.dto.DemoDTO must implement java.io.Serializable】
  3. 经过检查返现该DTO没有 实现 Serializable接口。

问题原因

dubbo接口的数据传输需要进行序列化。

解决方法

在服务提供方,返回的DTO implement Serializeable。

报错信息

Caused by: java.lang.IllegalStateException: Serialized class com.xx.dto.DemoDTO must implement java.io.Serializable
    at com.alibaba.com.caucho.hessian.io.SerializerFactory.getDefaultSerializer(SerializerFactory.java:261)
    at com.alibaba.com.caucho.hessian.io.SerializerFactory.getSerializer(SerializerFactory.java:233)
    at com.alibaba.com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:406)
    at com.alibaba.com.caucho.hessian.io.JavaSerializer$FieldSerializer.serialize(JavaSerializer.java:313)
    ... 28 more

 


原文链接:https://www.cnblogs.com/luao/p/10824227.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:二级缓存和日志

下一篇:怎么让代码不再臃肿,写的像诗一样优雅