weblogic配置小总结

下面内容都来之网络,在WebLogic11下可用,为了方便今后的工作进行简单的总结。

1.        在产品模式下不用输入用户名密码自动启动

修改文件:startWebLogic.sh,增加下面红色字体部分:

SAVE_CLASSPATH=""

trap ‘stopAll‘ 1 2 3 15

WLS_USER=”weblogic”

WLS_PW=”weblogic123”

if [ "${PRODUCTION_MODE}" = "true" ] ; then

WLS_DISPLAY_MODE="Production"

else

WLS_DISPLAY_MODE="Development"

fi

if [ "${WLS_USER}" != "" ] ; then

JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.management.username=${WLS_USER}"

fi

if [ "${WLS_PW}" != "" ] ; then

JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.management.password=${WLS_PW}"

fi

2.        控制台中文输出乱码问题

修改文件:startWebLogic.sh,增加下面红色字体部分

if [ "${WLS_REDIRECT_LOG}" = "" ] ; then

echo "Starting WLS with line:"

echo "${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/l

ib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS}"

${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Dfile.encoding=GBK -Djava.security.policy=${WL_

HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS}

else

echo "Redirecting output from WLS window to ${WLS_REDIRECT_LOG}"

${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Dfile.encoding=GBK -Djava.security.policy=${WL_

HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS}  >"${WLS_REDIRECT_LOG}" 2>&1

fi

3.        修改启动时内存大小

修改文件:setDomainEnv.sh

修改前:

if [ "${JAVA_VENDOR}" = "Sun" ] ; then

WLS_MEM_ARGS_64BIT="-Xms256m -Xmx512m"

export WLS_MEM_ARGS_64BIT

WLS_MEM_ARGS_32BIT="-Xms256m –Xmx512m"

export WLS_MEM_ARGS_32BIT

else

WLS_MEM_ARGS_64BIT="-Xms512m -Xmx512m"

export WLS_MEM_ARGS_64BIT

WLS_MEM_ARGS_32BIT="-Xms512m -Xmx512m"

export WLS_MEM_ARGS_32BIT

fi

修改后:

if [ "${JAVA_VENDOR}" = "Sun" ] ; then

WLS_MEM_ARGS_64BIT="-Xms256m -Xmx512m"

export WLS_MEM_ARGS_64BIT

WLS_MEM_ARGS_32BIT="-Xms512m –Xmx512m"

export WLS_MEM_ARGS_32BIT

else

WLS_MEM_ARGS_64BIT="-Xms512m -Xmx512m"

export WLS_MEM_ARGS_64BIT

WLS_MEM_ARGS_32BIT="-Xms512m -Xmx512m"

export WLS_MEM_ARGS_32BIT

fi

4.        编写重启weblogic的脚本()

功能说明:重启时停止服务,自动备份输出日志到logs目录下,启动服务

新建文件: restart.sh

内容:

sh ./bin/stopWebLogic.sh

mv systemLog.log ./logs/ systemLog.log.`date ‘+%Y%m%d%H%M‘`

nohup ./startWebLogic.sh > systemLog.log &

tail -f systemLog.log

修改文件的执行权限:chmod +x restart.sh

5.        Weblogic报出java.lang.OutOfMemoryError: PermGen space异常。

问题原因:Because  the Classloader (and the Class objects it loaded) cannot be recycled.  They are stored in the permanent heap generation by the JVM, and when  you redepoy a new class loader is created, which loads another copy of  all these classes. This can cause OufOfMemoryErrors eventually. 由于SUN JVM对permanent heap generation 区域的内容不做垃圾回收造成应用动态Load class文件过多引起的OutOfMemory错误。频繁deploy会导致weblogic报permGen 错误。

修改文件:setDomainEnv.sh

解决方案:(修改-XX:MaxPermSize由原来的128M调整为256M或512M)

MEM_PERM_SIZE="-XX:PermSize=48m"

export MEM_PERM_SIZE

MEM_MAX_PERM_SIZE="-XX:MaxPermSize=512m"

export MEM_MAX_PERM_SIZE

6.        weblogic 部署出现too many file opens

问题原因: linux系统对用户打开太多文件的数量有限制,可以通过ulimit –a 查看到open files                      (-n) 1024。

修改文件:/etc/security/limits.conf,commEnv.sh(weblogic的公用环境设置文件)

修改内容:将文件中打开文件数限制从原来的1024调整为更大。

文件中增加下面内容:(user1 为对应的系统用户名)

#<domain>      <type>  <item>         <value>

#

#*               soft    core            0

#*               hard    rss             10000

#@student        hard    nproc           20

#@faculty        soft    nproc           20

#@faculty        hard    nproc           50

#ftp             hard    nproc           0

#@student        -       maxlogins       4

User1 hard nofile 65535

User1 soft nofile 65535

commEnv.sh文件的修改:(下面这段脚本没太看懂,在上面的方案还不好使得情况下使用下面的修改)

# limit the number of open file descriptors

resetFd() {

if [ ! -n "`uname -s |grep -i cygwin || uname -s |grep -i windows_nt || /

uname -s |grep -i HP-UX`" ]

then

maxfiles=`ulimit -H -n`

if [ "$?" = "0" -a  `expr ${maxfiles} : ‘[0-9][0-9]*$‘` -eq 0 ]; then

ulimit -n 65535

fi

fi

}

7Weblogic部署Hibernate3出现ClassNotFoundException: org.hibernate.hql.ast.HqlToken的问题。

问题原因:WebLogic已经集成了antlr包 ,在使用Hibernate时,会先加载其本身所带的antlr包, 所以会和Hibernate 捆绑的antlr包冲突。可以通过修改hibernate的hibernate.query.factory_class参数为org.hibernate.hql.classic.ClassicQueryTranslatorFactory,但是这样会导致部分复杂的sql服务在hibernate下使用。下面介绍不调整这个参数的两种解决方案。

解决方案:(下面的解决方案不一定起作用,具体问题具体分析)

①:修改应用的weblogic.xml文件:增加下面问容,让系统启动优先加载应用中使用的lib包。

<container-descriptor>

<servlet-reload-check-secs>-1</servlet-reload-check-secs>

<session-monitoring-enabled>true</session-monitoring-enabled>

<prefer-web-inf-classes>true</prefer-web-inf-classes>

</container-descriptor>

②:上传antlr-2.7.6.jar到${DOMAIN_HOME}/lib/,修改domain的setDomainEnv.sh文件

JAVA_PROPERTIES="${JAVA_PROPERTIES} ${CLUSTER_PROPERTIES}"

export JAVA_PROPERTIES

# Clear the pre_classpath here in case an application template wants to set it before the larger pre_classpath is invoked below

PRE_CLASSPATH="${DOMAIN_HOME}/lib/antlr-2.7.6.jar:"

export PRE_CLASSPATH

时间: 2024-10-04 03:02:47

weblogic配置小总结的相关文章

Weblogic发布小问题——weblogic.descriptor.DescriptorException: VALIDATION PROBLEMS WERE FOUND

前几天发布应用时出现了如下所示的一段错误提示信息: weblogic.descriptor.DescriptorException: VALIDATION PROBLEMS WERE FOUND problem: cvc-enumeration-valid: string value '3.0' is not a valid enumeration value for web-app-versionType in namespace http://java.sun.com/xml/ns/java

weblogic利用小技巧

weblogic利用几个小技巧分享: 当通过反序列化获取到服务器权限时,有时可能会需要验证漏洞危害性,查看数据库数据量时,需要上传webshell或者使用后台部署war包,可以用到以下几个小技巧 查看config/config.xml文件,该文件中包含weblogic配置信息,例如站点部署路径.后台登录用户名密码.端口号等Linux下使用 cat ./config/config.xmlWindows下使用 cmd.exe /c type config\config.xmlweblogic利用小技

思科命令配置小技巧三:alias 命令

大家都用过手机上的快捷拨号设置 思科设备是否支持命令的快捷键定义呢 答案是肯定的 suzhouxiaoniu(config)#alias exec xx show ip inter bri  xx是自定义的快捷键名称,可以是数字 suzhouxiaoniu#xx 直接敲定义好的名称Interface                  IP-Address      OK? Method Status                ProtocolFastEthernet1/0          

思科命令配置小技巧四:用ACL控制debug 输出

使用debug命令可以帮助我们TS,但是使用debug命令往往会输出一大堆信息,很多是我们不需要用的,也会造成CPU高负荷,这种情况下我们可以限制debug的输出 可以应用ACL到debug以限定仅输出要求的debug信息. 如仅查看从1.1.1.1到1.1.1.2的ICMP包: Router(config)# access-list 100 permit icmp host 1.1.1.1 host 1.1.1.2 Router# debug ip packet detail 100 思科命令

Nginx return 关键字配置小技巧

Nginx的return关键字属于HttpRewriteModule模块: 语法:return http状态码 默认值:无 上下文:server,location,if 该指令将结束执行直接返回http状态码到客户端. 支持的http状态码:200, 204, 400, 402-406, 408, 410, 411, 413, 416 , 500-504,还有非标准的444状态码. 使用方法: #不符合规则的返回403禁止访问 location /download/ {     rewrite 

应用程序初次运行数据库配置小程序(Java版)

应用程序初始化数据库配置小程序 之前写过一个Java版的信息管理系统,但部署系统的时候还需要手动的去配置数据库和导入一些初始化的数据才能让系统运行起来,所以我在想是不是可以写一个小程序在系统初次运行的时候自动部署数据库和导入一些初始化数据.然后就有了以下的思路: 在应用程序入口处判断数据库是否已经配置完成,若配置完成则进入正常的登录系统完成正常操作即可,若未配置则进入数据库配置的小程序完成数据库配置然后再进入系统,但如何来判断是否已经配置完成呢,在这里我用的是比较原始的方法,配置数据库的时候系统

思科命令配置小技巧一:rang命令

在交换机的配置中,经常会对一组端口进行相同的操作,为简化配置,提高设备性能 可以在配置中使用range命令: suzhouxiaoniu(config)#inter range fa1/1-10  对10个连续的端口同时进行操作suzhouxiaoniu(config-if-range)#swi mo accsuzhouxiaoniu(config-if-range)#swi acc vlan 2 suzhouxiaoniu(config)#inter range fa1/1 ,fa1/3 ,f

思科命令配置小技巧二:macro命令

在 思科命令配置小技巧一中,我们谈到,使用range命令可以简化我们的配置 但是如果我们经常对一组不连续的端口进行操作 比如 interface-range  fa1/1 ,fa1/3 ,fa1/5 ,fa1/7 ,fa1/11 即使使用range命令也会显得很繁琐 我们总想越简单越好(命令敲再多,工资还是那个数,要是按命令字数算工资多好) 此时交换机的宏命令就派上用场了 suzhouxiaoniu(config)#define interface-range abc fa1/1 ,fa1/3

weblogic配置数据源出错

Connection test failed. Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor The Connection descriptor used by the client was: 183.62.231.99:1521:orcl 修改:url: jdb