com.caucho.hessian.io.SerializerFactory getDeserializer xxx is an unknown class

在维护一个老项目中使用到了hessian,虽然配置很简单但是也遇到不少问题。

其中一个问题就是:看到别人的客户端工程创建一个与服务器端工程类相同的实体类就可以直接引用,比如,服务端有一个xxx实体类,客户端也有一个xxx实体类就可以直接调用,但是当我给服务端返回一个list<xxx实体类>的时候,就会报错,错误提示是【com.caucho.hessian.io.SerializerFactory getDeserializer xxx is an unknown class】。

从错误提示上来看,意思也就是说无法反序列化,但是我的xxx实体类都已经实现了serilize接口,并给了指定的uid。

寻求答案无果,最终只能将list对象在服务端转换为JSON字符串(String),然后在客户端接收之后再进行转换成list对象就暂时解决了这个问题了。

而关于要如何在hessian中正确传递list对象还是没有研究明白,大概是对Java的序列化机制还不够了解吧,有时间深入探究一下。

"请用你绝对清醒的理智去压制你不该有的情绪。"

猜你喜欢

转载自www.cnblogs.com/yanggb/p/12855096.html