妖怪问题,请高手帮忙分析一下

06-04-18 xiongxiaoming23
生产环境和测试环境配置均为:AIX+Websphere +DB2 8.2

开发环境配置为:WinXP+JBoss3.2 + DB2 8.2

现在生产环境中出现一奇怪现象,当需要查询表scriptdetail中的数据时报错,而这一错误信息没有被抛出(开发人员遗漏),将生产环境数据库备份到测试环境和开发环境,而且将生产环境的包发布到测试环境和开发环境均表现正常,我个人初步分析可能是表scriptdetail的问题,尝试更改查询语句中的表名(scriptdetail)可以重现场景.请各位分析一下问题产生的原因.谢了先!

banq
2006-04-20 11:25
你程序设计编程不严谨的问题

xiongxiaoming
2006-04-20 13:35
非常感谢Banq的回复,问题已经解决,生产环境是因为有一个类没有序列化所导致,但我不明白,没有序列化的对象在测试环境为何可以正常运行呢?

主要的代码如下:

public class ScripDTO implements Serializable{

......

private List detail_info;

public void setDetail_info(List detail_info) {

this.detail_info = detail_info;

}

public List getDetail_info(){

return detail_info;

}

业务查询时,detail_info中存储ScripDetailDTO类型的对象,ScripDetailDTO没有实现Serializable接口,测试环境的Websphere的EJB容器设置与生产环境不同,其它配置均相同

文发表
2006-05-04 21:18
ok

gh_aiyz
2006-05-05 17:50
可能因为测试环境下你的EJB容器和Web容器没有分开而在生产环境下却是分开的(又或者Websphere处理方式和JBoss不一致)。对于JBoss,如果你的Web应用和EJB应用部署在同一Server下,你的对象没有序列化也不会有问题。通常开发和测试时应当启用两个JBoss服务器。

猜你喜欢