用友股份-LE服务支持部技术方案--《任务监控显示异常解决案例》建立日期:2013-04-01修改日期:xxxx-xx-xx文档属性:客户文控编号:LE-DY-JS-2013-00502/7文档控制创建记录审阅人姓名所属部门职位审阅签字发布人姓名所属部门发布时间日期作者所属部门邮件地址版本2013-04-01魏享林V1.03目录任务监控显示异常解决案例...............................................................................................4一.系统环境..................................................................................................................4二.问题描述................................................................................................................4三.检查分析................................................................................................................4四.解决方法................................................................................................................74任务监控显示异常解决案例一.系统环境NC版本:NC57中间件及集群方式:Was垂直集群二.问题描述打上开发提供的补丁后,客户化任务监控列表界面,无法正常显示。前台日志显示如下内容:三.检查分析1.从前台日志看,是EJB中的一个接口找不到。怀疑是部署有问题,重新部署EJB,并重启中间件,发现问题依旧。2.用JSP测试接口是否真的找不到,JSP如下:5运行这个jsp时,报异常,提示找不到这个接口。3.找到这个接口对应的upm文件,upm文件内容如下:4.先尝试查找别的接口,如nc.itf.uap.pa.IPreAlertService,发现这个接口能够找到。再通过打包的EJB名称查找,即nc.itf.uap.pa.PreAlertEJB,发现也能够查找到。说明这个EJB是能够从was中找到的,怀疑是NC处理EJBMetaData有问题,准备代码打桩来查问题。5.偶然用IPreAlertConfigService来查找,即用该接口的别名来查找,发现是能查找得到的。至此找到问题原因:如果在upm文件中为一个接口定义了别名,那么在程序中不能通过接口的全路径class名称来查找,只能通过别名来查找。6.比较用户环境中的upm文件和标准环境中的upm文件,发现标准环境中该接口是没有配置别名的。询问顾问得知,这个是开发提供的补丁才改成这样的。6询问开发人员,得知这样做是因为只有配置了别名,才能在nsSysConfig工具中配置服务运行的server。向开发说明了情况后,开发创建了一个同nc.itf.uap.pa.IPreAlertConfigService完全相同的接口,只是接口名称不相同,在这个新接口上建别名,并修改程序中对别名接口的调用。7.补丁打到用户环境后,顾问反映问题还是没有解决,报错信息同原来相同。再次部署EJB,发现如下报错信息:从提示信息中看出,IPreAlertConfigService和nc.itf.uap.pa.IPreAlertConfigService有相同的方法:createTaskInstance,并且这两个方法对应的参数、返回值类型完全相同,导致EJB打包时,不知道到底应该调用哪个类的方法,最后打包EJB时,没有把nc.itf.uap.pa.IPreAlertConfigService打包进去。开发提供的新的upm文件如下:7解决这个问题很简单,只要把nc.itf.uap.pa.IPreAlertConfigService和nc.itf.uap.pa.IPreAlertScheduler放在两个不同的EJB中,即可解决问题。为此找到UAP下另一个upm文件,把新接口nc.itf.uap.pa.IPreAlertSchedule的描述放进该upm文件中,并重新部署EJB,问题即得到解决。四.解决方法开发提供补丁,做一个同nc.itf.uap.pa.IPreAlertConfigService相同完全的接口,为新接口定义别名,并修改程序中对此别名的访问,将新接口放进一个新的upm文件中,保证新接口同老接口不会打包进同一个EJB中。补丁号为:NC_UAP_KHH-NC5.7-Special-2013038-204391509.rar