簡體   English   中英

創建腳本weblogic Windows服務

[英]creating script weblogic windows service

我創建了一個腳本,可以在計算機啟動后自動啟動Weblogic。 我的腳本是:

echo off
SETLOCAL

set DOMAIN_NAME=new_domain 
set USERDOMAIN_HOME=C:\Users\erick\Desktop\Materials\apps\weblogic_12c\user_projects\domains\new_domain
set SERVER_NAME=myserver 

set WLS_USER=xxxxx
set WLS_PW=xxxxxx

call "C:\Users\erick\Desktop\Materials\apps\weblogic_12c\wlserver\server\bin\installSvc.cmd"
pause
ENDLOCAL

該腳本在domains \\ new_domain \\ config文件夾下創建。

我的installSvc.cmd看起來像這樣:(我沒有做任何更改。因此是weblogic安裝程序創建的)

@echo off
SETLOCAL


set WL_HOME=%MW_HOME%\wlserver
call "%WL_HOME%\common\bin\commEnv.cmd"

@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

@rem Check that java is where we expect it to be
:checkJava
if exist "%JAVA_HOME%\bin\java.exe" goto runWebLogic
echo The JDK wasn't found in directory %JAVA_HOME%.
echo Please edit your script so that the JAVA_HOME variable 
echo points to the location of your JDK.
goto finish

:runWebLogic

@rem the service loads dll file, so the JAVA_VM *must* be correct
if exist %JRE_HOME%\bin\client (
set JAVA_VM=-client
) else if exist %JRE_HOME%\bin\server (
set JAVA_VM=-server
) else if exist %JRE_HOME%\bin\jrockit (
set JAVA_VM=-jrockit
)



:noResetJavaVM
if not "%MEM_ARGS%" == "" goto noResetMemArgs
set MEM_ARGS=-Xms32m -Xmx200m

:noResetMemArgs

@echo on

set CLASSPATH=%WEBLOGIC_CLASSPATH%;%CLASSPATH%

@echo ***************************************************
@echo *  To start WebLogic Server, use the password     *
@echo *  assigned to the system user.  The system       *
@echo *  username and password must also be used to     *
@echo *  access the WebLogic Server console from a web  *
@echo *  browser.                                       *
@echo ***************************************************

rem *** Set Command Line for service to execute within created JVM

@echo off

if "%ADMIN_URL%" == "" goto runAdmin
@echo on
set CMDLINE="%JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -classpath \"%CLASSPATH%\" -Dweblogic.Name=%SERVER_NAME% -Dweblogic.management.username=%WLS_USER% -Dweblogic.management.server=\"%ADMIN_URL%\" -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy=\"%WL_HOME%\server\lib\weblogic.policy\" weblogic.Server"
goto finish

:runAdmin
@echo on
set CMDLINE="%JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -classpath \"%CLASSPATH%\" -Dweblogic.Name=%SERVER_NAME% -Dweblogic.management.username=%WLS_USER% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy=\"%WL_HOME%\server\lib\weblogic.policy\" weblogic.Server"

:finish
rem *** Set up extrapath for win32 and win64 platform separately
set WLSVC_EXE_TO_USE=wlsvcx64
if "%WL_USE_X86DLL%" == "true" (
 set EXTRAPATH=%WL_HOME%\server\native\win\32;%WL_HOME%\server\bin;%JAVA_HOME%\jre\bin;%JAVA_HOME%\bin;%WL_HOME%\server\native\win\32\oci920_8
 set WLSVC_EXE_TO_USE=wlsvc
)

if "%WL_USE_IA64DLL%" == "true" (
 set EXTRAPATH=%WL_HOME%\server\native\win\64\;%WL_HOME%\server\bin;%JAVA_HOME%\jre\bin;%JAVA_HOME%\bin;%WL_HOME%\server\native\win\64\oci920_8
 set WLSVC_EXE_TO_USE=wlsvc64
)

if "%WL_USE_AMD64DLL%" == "true" (
 set EXTRAPATH=%WL_HOME%\server\native\win\x64\;%WL_HOME%\server\bin;%JAVA_HOME%\jre\bin;%JAVA_HOME%\bin;%WL_HOME%\server\native\win\x64\oci920_8
 set WLSVC_EXE_TO_USE=wlsvcx64
)

rem *** Install the service
"%WL_HOME%\server\bin\%WLSVC_EXE_TO_USE%" -install -svcname:"wlsvc %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%

ENDLOCAL

當我執行第一個腳本時,它將創建Windows服務。 由於某種原因,它將創建為wlsvc new_domain_myserver,因此名稱中有一個空格。 當我嘗試啟動該服務時,它給我一個錯誤,提示它無法啟動。 我究竟做錯了什么?

在最后一行附近,它顯式調用:

rem *** Install the service
"%WL_HOME%\server\bin\%WLSVC_EXE_TO_USE%" -install -svcname:"wlsvc %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%

您的問題與名稱無關。 服務名稱中的空格沒有問題。 從“開始”菜單打開“ Services ...大多數名稱帶有空格。

提示服務無法啟動的錯誤很可能與您與CMDLINE 您可以發布命令的完整輸出嗎? 它是否完全嘗試啟動weblogic? 如果沒有(沒有日志文件),那么絕對是錯誤的命令行。

手動運行.cmd文件。 -install之前的最后一行添加-debug以獲取更多輸出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM