1
WebLogic 서버에 대해 새 ActiveDirectoryAuthenticator 사용자를 생성하고 <Server>/security
폴더의 boot.properties 파일에 자격 증명을 추가했습니다. startWebLogic.cmd를 사용하여 서버를 시작하면 지정된 사용자와 올바르게 시작됩니다. 그러나 예를 들어 http://docs.oracle.com/cd/E13222_01/wls/docs81b/adminguide/winservice.html을 통해 서비스를 만들거나 누군가가 만든 스크립트를 수정하려고하면 올바른 사용자로 서버가 부팅되지 않습니다.WebLogic 서비스가 부트 ID 파일을 읽지 않습니다.
내가 뭘 잘못하고 있니?
@echo off
SETLOCAL
set DOMAIN_NAME=<domain_name>
set SERVER_NAME=<server_name>
set MAX_CONNECT_RETRIES=2
set HOST=localhost
set PORT=7011
set USERDOMAIN_HOME=F:\bea1032\user_projects\domains\<domain_name>
set WL_HOME=F:\bea1032\wlserver_10.3
call "%WL_HOME%\common\bin\commEnv.cmd"
:checkWLS
if exist "%WL_HOME%\server\lib\weblogic.jar" goto checkJava
goto finish
:checkJava
if exist "%JAVA_HOME%\bin\java.exe" goto runWebLogic
goto finish
:runWebLogic
if not "%JAVA_VM%" == "" goto noResetJavaVM
if "%JAVA_VENDOR%" == "BEA" set JAVA_VM=-jrocket
if "%JAVA_VENDOR%" == "HP" set JAVA_VM=-server
if "%JAVA_VENDOR%" == "Sun" set JAVA_VM=-server
:noResetJavaVM
if not "%MEM_ARGS%" == "" goto noResetMemArgs
set MEM_ARGS=-Xms32m -Xmx200m
:noResetMemArgs
set CLASSPATH=%WEBLOGIC_CLASSPATH%;%CLASSPATH%
@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.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.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy=\"%WL_HOME%\server\lib\weblogic.policy\" weblogic.Server"
:finish
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
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
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
"%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%" -cmdline:%CMDLINE%
ENDLOCAL
beasvc 호출에서'WLS_USER'와'WLS_PW'로 원하는 사용자/패스를 사용하거나'-user :'와'-password :'로 직접 설정하려고 했습니까? –
네, 저도 그렇게했습니다. 실제로 로컬 시스템 대신 해당 사용자와 함께 서비스를 실행함으로써 실제로 작동하도록 만들 수있었습니다. – machinehead115