将应用部署到 weblogic10 及 oracle linux 时遇到的问题
?公司一个项目准备在这几天上线,在用户现场搭建好服务器运行环境后,我们的主要工作就是将应
用移植到新的环境中。
? 部署环境介绍 开发环境介绍
操作系统 Oracle
Enterprise-R5-U5-Server-x86_6
windows7/windowsxp
中间件 Weblogic server 10.3 tomcat 6
JDK jdk1.6 jdk1.6
J2EE SDK 5.0 5.0
数据库 Oracle Oracle
?在将 tomcat 环境下开发的应用移植到 weblogic 下的过程中遇到了各种问题,特在此记录。
一、在一开始时准备将 web应用打成 war 包,使用 weblogic 管理服务器安装,遇到了第一个问题
错误一:
意外的异常 在处理请求时出现意外的异常情况
消息 :
堆栈跟踪 :??java.lang.NullPointerException
at com.bea.console.actions.app.install.Flow.uploadApp(Flow.java:256)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
省略数千字……………
错误二:
?java.lang.OutOfMemoryError: unable to create new native thread
问题分析:
?? ? 这些错误都是在文件上传时,因为我们的工程较大,导致虚拟交换内存不足引起的,将修
改 weblogic 的虚拟内存调大后,解决了问题。
解决办法 :
?? ? 找到 weblogic 启动文件 ?startWebLogic.sh, 由于该文件实际上又调用了
bin/setDomainEnv.sh 文件,所以真正要改的是 setDomainEnv.sh (在我这里该文件位于
/Middleware/user_projects/domains/base_domains/bin )
将 PermSize?和 MaxPermSize调整到 ?256 和?512(按实际需要来调)
二、这时候,我们这样可以没问题了吧,谁知一部署,第二个问题来了
错误:
java.lang.IllegalStateException: Cannot set web app root system