上次在H市搭建环境,现场的F老师已经给新建好了weblogic域,直接上传程序就可以了,启动程序也正常。但是在尝试触发程序的定时任务时,等了好久也没执行,慢慢排查原因,原来是linux系统时间与我本地的时间不同,而且linux系统用的是美国东部的时间,汗!后来找人将linux上的时间改了过来,发现定时任务还是无法执行,再次排查原因,看到linux上weblogic域中程序控制台的发布信息的时间还是美国东部的时间,这下不知道该咋办了。上网找资料,找到了可以对weblogic域时区进行设置的文章,具体的设置方法如下:
在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/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS}"
${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Duser.timezone=GMT+8 -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} -Duser.timezone=GMT+8 -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS} >"${WLS_REDIRECT_LOG}" 2>&1
fi
结果重新启动程序,再查看控制台的日志,时间显示的是北京时间了,之后的定时任务也能正常触发了。