java序列化的一点经验
半年多一来,一直碰到一个问题没有解决,就是当web应用和EJB分开部署,web再调用EJB时
web一直报错,而且是系统错误,找不到原因。
半年后,又再次碰到这个问题,正好现在有时间好好研究了一下。终于发现是当有DTO作为对象
传递给EJB时,报的错误。我的DTO已经 implements java.io.Serializable 了,可是服务器还是报错:
class invalid for deserialization;最后终于找到原因原来
web应用调用EJB时,web传递一个DTO给ejb作为参数,虽然web应用中的DTO实现了Serializable,
但服务器端部署了的ejb中的这个DTO的class还是以前未implements java.io.Serializable 的老版本;
修改重新部署后问题解决。
所以大家还是要注意序列化和反序列化的类要前后一致。
半年多一来,一直碰到一个问题没有解决,就是当web应用和EJB分开部署,web再调用EJB时
web一直报错,而且是系统错误,找不到原因。
半年后,又再次碰到这个问题,正好现在有时间好好研究了一下。终于发现是当有DTO作为对象
传递给EJB时,报的错误。我的DTO已经 implements java.io.Serializable 了,可是服务器还是报错:
class invalid for deserialization;最后终于找到原因原来
web应用调用EJB时,web传递一个DTO给ejb作为参数,虽然web应用中的DTO实现了Serializable,
但服务器端部署了的ejb中的这个DTO的class还是以前未implements java.io.Serializable 的老版本;
修改重新部署后问题解决。
所以大家还是要注意序列化和反序列化的类要前后一致。