weblogic迁移小结_weblogic迁移
weblogic迁移小结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“weblogic迁移”。
企业产品包weblogic迁移说明
这次企业产品包往weblogic平台迁移主要经历了三个版本的迁移.首先是在8.14版本上迁移成功,然后再往10.2版本上迁移。
迁移策略是:一,优先考虑通用解决策略(遵照j2ee规范修改问题程序),二,假如通用策略代价太大,则使用专用解决方案(如增加weblogic配置文件)。
迁移webogic8 迁移以企业产品包EXOA_GOV_V_1_0为基础,下面是遇到的问题概述及解决办法。1.类加载问题,由于我们的包依赖关系没有完全调整好,所以需要把所有的jar放入一个应用程序级的加载目录,此目录位于ear内,路径是APP-INF/lib。也就是说以后我们使用产品包部署在weblogic服务器之前,先把所有的jar靠入此目录。2.第三方包版本冲突问题,把antlr-2.7.7.jar放入E:beaweblogic81serverlib,并且在startweblogic启动文件中把该文件加入clapath,并且要放在weblogic.jar前面加载,解决hibernate3报错问题.3.重复定义jsp编码的问题。该问题发生在一些带有include文件的jsp里面,由于包含文件及被包含文件都定义了page encoding导致报错(这是jsp1.2规范不允许的)。解决此问题的办法是在相应的war包加入以下路径的配置文件 war/WEB-INFO/weblogic.xml,文件内容如下:
backwardCompatible
true
目前处理模块有
aetEquimentWeb.war expendableWeb.war exForumWeb.war meetingWeb.war 4.类引入声明问题,由于一些文件里存在 import package.*声明语句,而一些类名与weblogic类库相同,导致weblogic类加载器无法确定是哪个类,出现编译错误。解决办法是写全路径声明。Import package.Cla1 5.dwr问题,dwr.jar必须放在war的lib下面,否则会报找不到用户定义的服务类错误.6.跳转路径问题,路径跳转必须以“/”开头,此问题发现在一些struts配置文件的forward路径中,还有action文件的跳转语句中。此问题出现在多个工程,如addrelistWeb等多个模块 个人桌面出现错误,原因是RegionsTag.java104行的getRequestDispatcher(webUrlStr)缺少了“/”;
应该是RequestDispatcher dispatcher=pageContext.getServletContext().getContext(“/”+this.webContext).getRequestDispatcher(“/”+webUrlStr);迁移welogic9 本迁移是基于weblogic8兼容的企业产品包基础上修改。
1.配置文件问题,8版本的weblogic.xml无法在9版本上部署.由于之前只是配置了backwardCompatible参数用于解决jsp include里面的重定义encode的问题,9版本无需配置直接可用,所以把weblogic.xml去除。
2.日期转型错误,这是由于sun jdk1.5规范变化所至。个人日程页面不出来原因是schedule_calendar.jsp里面的entry.getStarTime().compareTo(dayEnd)有问题。
entry.getStarTime()是timestamp类型,dayEnd是Date类型,在sun jdk1.5规范里compareTo是必须为timestamp类型对象,父类Date不能转为子类,所以会报转型错误。在IBM JDK1.5里没出现该问题。SUN JDK1.4也没有出现该问题。解决办法是把dayEnd重新构建为timestamp对象.3.Log4j配置问题,exoaextendWeb有两个问题。1.web.xml里面的org.springframework.web.util.Log4jConfigListener 导致启动不正常,报Error: weblogic.management.DeploymentException: Cannot set web app root system property when WAR file is not expanded-with nested exception:
错误。此问题网上的说法是weblogic自己会启动一个Log4j实例,这样写会有冲突,暂时的解决办法是先屏蔽。1.exoaextendWeb 2.meetingWeb 3.smsplatformWeb 都有这个问题
2.Spring配置文件加载方式问题。com.excellence.exoa.common.context.EXOAContextLoaderServlet的supper.init()语句出问题,系统报重复load root context错误。替换写法如下:
super.createContextLoader().initWebApplicationContext(getServletContext());迁移welogic10 1.公文附件上传,资料库新建资料,电子邮件新建中文乱码
原因是新版的weblogic自带的commons-fileupload.jar与oa的冲突,解决办法是把ear下APP-INF/lib下的同名包放到weblogic的lib目录中,并把此jar的加载放于weblogic jar包的前面。
例如某linux环境下(具体路径视实际环境而定):
1.把commons-fileupload.jar 拷贝到/opt/bea/weblogic92/server/lib/下 2.修改startWeblogic.sh CLASSPATH=“/opt/bea/weblogic92/server/lib/commons-fileupload.jar:/opt/bea/weblogic92/server/lib/antlr-2.7.7.jar:/opt/bea/weblogic92/server/lib/js.jar:${CLASSPATH}” 3.重启应用
2.日期解析问题,这是由jdk版本不同导致
在jdk1.6中java.sql.Date.valueOf()是无法成功执行的,会抛出“非法的参数异常”
问题解决办法
1.换jdk
2.修改代码,将日期格式改为simpledateformat处理。