zoukankan      html  css  js  c++  java
  • 一场没有序列化引发的血案

    分析思路

    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
  • 相关阅读:
    小a和uim之大逃离(dp)
    c++stl应用入门
    tar: 从成员名中删除开头的“/”
    yii中rights安装
    python中operator.itemgetter
    python中时间和时区
    python --那些你应该知道的知识点
    rsync拉取远程文件
    django中时区设置
    django中添加用户
  • 原文地址:https://www.cnblogs.com/luao/p/10824227.html
Copyright © 2011-2022 走看看