Weblogic8 在linux下脚本问题
终于要把生产环境使用的weblogic7升级为weblogic8了。
如果我们使用脚本启动weblogic的话,我们会在 startWebLogic.sh 脚本中加入以下变量,用作每次启动系统不用重复输入口令和用户帐号。
# WLS_USER - cleartext user for server startup
# WLS_PW - cleartext password for server startup
这次这个方法竟然不能用了,设置了很多便,再确定没有录入错误后,决定查找是否脚本存在问题。
查看一下weblogic8的脚本:
${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Dweblogic.Name=${SERVER_NAME} -Dweblogic.ProductionModeEnabled=${PRODUCTION_MODE} -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" weblogic.Server |
我们可以发现它在最后直接调用了启动weblogic的命令,并且没有再其中使用到任何我们在前面定义的用户帐号和口令。
我们知道在weblogic7中,startWebLogic.sh并不是直接调用上面的命令启动。而是又调用了startWLS.sh脚本,在此脚本中,我们可以查看他的启动方法:
${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Dweblogic.Name=${SERVER_NAME} -Dweblogic.ProductionModeEnabled=${PRODUCTION_MODE} -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" -Dweblogic.management.username=${WLS_USER} -Dweblogic.management.password=${WLS_PW} weblogic.Server |
这里,我们可以容易的看到,在7中实际是使用了用户帐号和密码的,我们把8的脚本修改为7的方式,在启动命令中加入:
-Dweblogic.management.username=${WLS_USER} -Dweblogic.management.password=${WLS_PW}
好了,现在一切ok。
最后令人不解的是在windows下面,wls8没有这个要求,我们根本没有设置脚本的帐号和口令,不知道weblogic是从哪里读取的帐号等信息,我在所有的weblogic里面都没有搜索到用户信息。有哪位仁兄知道,请告知一下。