使用wlst脚本进行Weblogic应用程序部署会导致内存不足异常

时间:2016-01-18 06:24:35

标签: java memory deployment weblogic wlst

我正在使用Weblogic 12.1.2和JDK 1.7.0.75中的wlst脚本部署应用程序。 使用wlst脚本编写的所有任务(创建域,cofigure管理服务器,启动服务器,连接)都可以工作,但应用程序部署除外。应用程序部署脚本:

deploy(appName='App1', path='D://Applications//App1', targets='AdminServer', stageMode='nostage', securityModel='DDOnly')

通过控制台部署应用程序时没有任何内存问题。在控制台中,我选择:目标样式为“将此部署安装为应用程序”,安全模型为“仅限DD:仅使用部署描述符中定义的角色和策略。”,暂存模式/源可访问性为“我将可以从以下位置访问部署“和计划登台模式/计划源辅助功能”使用与应用程序相同的辅助功能“。

我是否必须在wlst脚本中设置任何特定的内存设置才能成功部署? 内存异常:

  

org.springframework.beans.factory.BeanDefinitionStoreException:   从类路径资源解析XML文档时发生意外异常   [豆-config.xml中];嵌套异常是java.lang.OutOfMemoryError:   PermGen空间

3 个答案:

答案 0 :(得分:1)

我不知道wlst脚本。但是当我在使用WebLogic时遇到这样的错误时,我更改了以下文件中的permgen值:

  

的Oracle \中间件\ ORACLE_HOME \ user_projects \域\ MYDOMAIN \ BIN \的setDomainEnv.cmd

(如果您使用的是UNIX系统,请参阅setDomainEnv.sh文件)。寻找属性

MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize=1024m
MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=512m

根据您的操作系统(32位或64位),将这些值设置为更高的数字。重新启动WebLogic实例。

答案 1 :(得分:0)

通过指定内存参数启动服务器后,应用程序已成功部署,如下所述: startserver的( 'AdminServer中', 'my_domain', 'T3://本地主机:7001', '的WebLogic', '密码', 'user_projects /域/ my_domain', '真',60000, '假',的 jvmArgs =' - XX:MaxPermSize = 256m,-Xms512m,-Xmx512m'

答案 2 :(得分:0)

在将应用部署到域级别时,最好的方法是使用管理控制台 - >部署 - >安装然后,在UI上更改deploy configure。大多数情况,都会经历。

WSLT用于将app部署到分区是很好的参考。

Java 8具有更好的内存管理。将JDK版本更新为8,此问题可能会消失。