在Windows操作系统中,WebLogic即可以通过命令行启动,也可以通过Windows服务(Service)来启动和停止。在某些情况下,如需要开机自启动,或者在启动后,命令行窗口可以关闭,这时使用Window service便有优势。
一、如何将WebLogic Web应用部署成Windows服务呢?
1、在WebLogic安装目录下找到installSvc.cmd文件
一般在位置:【WebLogic安装目录】/Oracle/Middleware/wlserver_10.3/server/bin 下
2、修改installSvc.com文件
增加虚线间的配置,包含以下参数:
DOMAIN_NAME:域名,WEB应用域的目录名,即一般在user_projects/domains/下的目录
SERVER_NAME:服务名,配置WEB应用的服务名字,一般缺省为AdminServer
WLS_USER: 该应用域管理用户名
WLS_PW:该应用域管理密码
set WL_HOME=D:\oracle\Middleware\wlserver_10.3
call "%WL_HOME%\common\bin\commEnv.cmd"
REM ------------------------------------------------------------------------------
REM domain的名称
set DOMAIN_NAME=app1_domain
REM 一般为默认
set SERVER_NAME=AdminServer
REM domain的路径
set USERDOMAIN_HOME=D:\oracle\Middleware\user_projects\domains\app1_domain
call "%USERDOMAIN_HOME%\bin\setDomainEnv.cmd"
set WLS_USER=weblogic
set WLS_PW=weblogic1
REM ------------------------------------------------------------------------------
@rem Check that the WebLogic classes are where we expect them to be
:checkWLS
if exist "%WL_HOME%\server\lib\weblogic.jar" goto checkJava
echo The WebLogic Server wasn't found in directory %WL_HOME%\server.
echo Please edit your script so that the WL_HOME variable points
echo to the WebLogic installation directory.
goto finish
除了上述环境变量参数配置要正确,这里最关键的有3点:
1、增加参数配置部分要放在commEnv.cmd之后,使该文件中的参数配置得以执行;
2、调用WEB应用域下面的setDomainEnv.cmd,应用域的很多参数都在其中设置;
rem *** Install the service
"%WL_HOME%\server\bin\beasvc" -install -svcname:"beasvc_%DOMAIN_NAME%_%SERVER_NAME%" -javahome:"%JAVA_HOME%" -
execdir:"%USERDOMAIN_HOME%" -maxconnectretries:"%MAX_CONNECT_RETRIES%" -host:"%HOST%" -port:"%PORT%" -
extrapath:"%EXTRAPATH%" -password:"%WLS_PW%" -cmdline:%CMDLINE%
3、在应用域配置文件setDomainEnv.cmd(%USERDOMAIN_HOME%\bin\setDomainEnv.cmd)中设置:
set PRODUCTION_MODE=true
使用生产模式,这个也很重要,经测试如不设置为true,服务不能启动,具体原因待查。
-svcname
后,在beasvc后去掉空格,添加_,避免出现空格,在进行命令操作时有问题。
二、删除Windows service
当服务不再需要想删掉,这时,你就会用到它了。
1、首先在控制面板或任务管理器中(WIN7)打开Windows Service管理窗口,找到发布的Service,一般以beasvc开头,双击该服务,在打开窗口的上部分找到服务名。
2、在Windows命令行窗口中执行命令:
sc delete [Windows服务名]
如:sc delete beasvc_app1_domain_AdminServer
如果配置不成功,就只好删除重来。
三、服务的启动和停止
启动:sc start [服务名]
停止:sc stop [服务名]
下面是用命令行启停的例子:
D:\oracle\Middleware\wlserver_10.3\server\bin>sc stop beasvc_app1_domain_AdminServer
SERVICE_NAME: beasvc_app1_domain_AdminServer
TYPE : 10 WIN32_OWN_PROCESS
STATE : 3 STOP_PENDING
(STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x8
WAIT_HINT : 0xfa0
D:\oracle\Middleware\wlserver_10.3\server\bin>sc start beasvc_app1_domain_AdminServer
SERVICE_NAME: beasvc_app1_domain_AdminServer
TYPE : 10 WIN32_OWN_PROCESS
STATE : 2 START_PENDING
(NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x2
WAIT_HINT : 0xbb8
PID : 11992
FLAGS :