weblogic.management.DeploymentException:
Exception:weblogic.management.ApplicationException: activate failed for biz-ejb.jar
?Module: biz-ejb.jar Error: Exception activating module: EJBModule(biz-ejb.jar,status=PREPARED)
Unable to deploy EJB: CustPODAOEJB from biz-ejb.jar:
java.lang.OutOfMemoryError
解决方法:
一:WebLogic配置问题:
由于WebLogic的配置问题,我们的测试出现了失败情况。原因是为WebLogic分配的内存太少了。通过修改commom\bin\commEnv.cmd文件来增加内存分配。
修改的部分如下:
:bea
if "%PRODUCTION_MODE%" == "true" goto bea_prod_mode
set JAVA_VM=-jrockit
set MEM_ARGS=-Xms768m -Xmx1024m
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
goto continue
:bea_prod_mode
set JAVA_VM=-jrockit
set MEM_ARGS=-Xms768m -Xmx1024m//原来是128M~256M,太小了,数据太大
goto continue
结果修改后,没有效果。还是有失败的情况。
发现,原来,在:bea下面还有一段配置信息如下:
:sun
if "%PRODUCTION_MODE%" == "true" goto sun_prod_mode
set JAVA_VM=-client
set MEM_ARGS=-Xms768m -Xmx1024m -XX:MaxPermSize=256m
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
goto continue
:sun_prod_mode
set JAVA_VM=-server
set MEM_ARGS=-Xms768m -Xmx1024m -XX:MaxPermSize=256m
goto continue
将这里的内存分配修改后见效。
原因是,上面对第一段代码是为bea自己的JVM设置的,下面的是为Sun的设置的。而WebLogic默认的是Sun的,所以出了毛病。
-------------------------另注:------------------------------
startWeblogic.cmd
文件中调用的是 commEnv.cmd,
在此文件中设定内存大小,可以生效。
call "%WL_HOME%\common\bin\commEnv.cmd"
问题解决了。