2013-06-26 3 views
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 
+0

beasvc 호출에서'WLS_USER'와'WLS_PW'로 원하는 사용자/패스를 사용하거나'-user :'와'-password :'로 직접 설정하려고 했습니까? –

+0

네, 저도 그렇게했습니다. 실제로 로컬 시스템 대신 해당 사용자와 함께 서비스를 실행함으로써 실제로 작동하도록 만들 수있었습니다. – machinehead115

답변

1

실제로 로컬 시스템 대신 해당 사용자와 서비스를 실행하여 실제로 작동시킬 수있었습니다.

관련 문제