博客统计信息

51cto推荐博客
用户名:guojie
文章数:33
评论数:58
访问量:144537
无忧币:753
博客积分:1565
博客等级:6
注册日期:2006-10-25

我的技术圈(4)

更多>>
工作中使用Serializable遇到的问题:[JMSClientExceptions:055115]Error deserializing an object
2008-03-14 10:28:42
版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。
工作中使用Serializable遇到的问题:[JMSClientExceptions:055115]Error deserializing an object

首先,说一下我的系统的概况:

工程1-WebSevice:发送A的实例至QueueA。
工程2-JMS:MDB从QueueA中获取对象,转换成A,再进行相关的处理。
Serializable类:A
都运行在Weblogic环境下。

最近,升级工程1,在功能升级的情况下对代码进行代码优化。其中,将A的包路径更改,部署上就报错:[JMSClientExceptions:055115]Error deserializing an object。

开始,我还以为是2个工程的A不同呢,将工程2下的A复制到工程1中,再部署还是不成。最后,当把A在工程1的包路径改成跟工程2的包路径一样时,问题解决。

看来,Serializable在串行化的时候,类的路径也被做了处理。这样,若2个工程的类路径不同的话,将会导致在反串行化时失败。

所以,如果在多个项目中传递Serializable对象,会比较麻烦。必须要保证Serializable的一致。一个地方动了,则所有地方也得跟着动。一个地方不改,其他地方也不能更改。

本文出自 “程序人生” 博客,转载请与作者联系!

分享至
更多
一键收藏,随时查看,分享好友!
0人
了这篇文章
类别:Java技术圈()┆阅读()┆评论() ┆ 推送到技术圈返回首页

文章评论

 
2008-03-14 10:41:15
恩 写程序时是不要随意乱改 有的会互相影响

 

发表评论            

【技术门诊】专家解析:软考重点难点及应试技巧
昵  称:
登录  快速注册
验证码:

请点击后输入验证码博客过2级,无需填写验证码

内  容: