start-ds.bat revision 4441
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw@echo off
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem CDDL HEADER START
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem The contents of this file are subject to the terms of the
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem Common Development and Distribution License, Version 1.0 only
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem (the "License"). You may not use this file except in compliance
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem with the License.
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem You can obtain a copy of the license at
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem trunk/opends/resource/legal-notices/OpenDS.LICENSE
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem or https://OpenDS.dev.java.net/OpenDS.LICENSE.
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem See the License for the specific language governing permissions
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem and limitations under the License.
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem When distributing Covered Code, include this CDDL HEADER in each
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem file and include the License file at
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem add the following below this CDDL HEADER, with the fields enclosed
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem by brackets "[]" replaced with your own identifying information:
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem Portions Copyright [yyyy] [name of copyright owner]
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem
3db3f65c6274eb042354801a308c8e9bc4994553amwrem CDDL HEADER END
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem Copyright 2006-2009 Sun Microsystems, Inc.
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwsetlocal
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwfor %%i in (%~sf0) do set DIR_HOME=%%~dPsi..
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwset INSTALL_ROOT=%DIR_HOME%
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwset INSTANCE_DIR=
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwfor /f "delims=" %%a in (%DIR_HOME%\instance.loc) do (
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw set INSTANCE_DIR=%%a
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw)
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwset CUR_DIR=%~dp0
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwcd /d %INSTALL_ROOT%
3db3f65c6274eb042354801a308c8e9bc4994553amwcd /d %INSTANCE_DIR%
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwset INSTANCE_ROOT=%CD%
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwcd /d %CUR_DIR%
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwset LOG="%INSTANCE_ROOT%\logs\native-windows.out"
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwset SCRIPT=start-ds.bat
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwecho %SCRIPT%: invoked > %LOG%
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwset SCRIPT_NAME=start-ds
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwrem Set environment variables
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwset SCRIPT_UTIL_CMD=set-full-environment-and-test-java
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwcall "%INSTALL_ROOT%\lib\_script-util.bat"
b89a8333f5e1f75ec0c269b22524bd2eccb972banatalie li - Sun Microsystems - Irvine United States
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwset ERROR_CODE=%errorlevel%
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwif NOT %ERROR_CODE% == 0 goto exitErrorCode
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwecho %SCRIPT%: CLASSPATH=%CLASSPATH% >> %LOG%
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwset PATH=%SystemRoot%
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwecho %SCRIPT%: PATH=%PATH% >> %LOG%
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw"%OPENDS_JAVA_BIN%" -Xms8M -Xmx8M %SCRIPT_NAME_ARG% org.opends.server.core.DirectoryServer --configClass org.opends.server.extensions.ConfigFileHandler --configFile "%INSTANCE_ROOT%\config\config.ldif" --checkStartability %*
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwif %errorlevel% == 98 goto serverAlreadyStarted
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwif %errorlevel% == 99 goto runDetach
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwif %errorlevel% == 100 goto runNoDetach
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwif %errorlevel% == 101 goto runAsService
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwif %errorlevel% == 102 goto runDetachCalledByWinService
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwif %errorlevel% == 103 goto runDetachQuiet
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwif %errorlevel% == 104 goto runNoDetachQuiet
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwset ERROR_CODE=%errorlevel%
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwgoto exitErrorCode
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw:serverAlreadyStarted
echo %SCRIPT%: Server already started >> %LOG%
set ERROR_CODE=0
goto exitErrorCode
:runNoDetach
echo %SCRIPT%: Run no detach >> %LOG%
echo. > "%INSTANCE_ROOT%\logs\server.out"
echo. > "%INSTANCE_ROOT%\logs\server.starting"
if exist "%INSTANCE_ROOT%\lib\set-java-args.bat %SCRIPT%" DO call "%INSTANCE_ROOT%\lib\set-java-args.bat"
"%OPENDS_JAVA_BIN%" %OPENDS_JAVA_ARGS% %SCRIPT_NAME_ARG% org.opends.server.core.DirectoryServer --configClass org.opends.server.extensions.ConfigFileHandler --configFile "%INSTANCE_ROOT%\config\config.ldif" %*
set ERROR_CODE=%errorlevel%
goto exitErrorCode
:runNoDetachQuiet
echo %SCRIPT%: Run no detach >> %LOG%
echo. > "%INSTANCE_ROOT%\logs\server.out"
echo. > "%INSTANCE_ROOT%\logs\server.starting"
if exist "%INSTANCE_ROOT%\lib\set-java-args.bat %SCRIPT%" DO call "%INSTANCE_ROOT%\lib\set-java-args.bat"
"%OPENDS_JAVA_BIN%" %OPENDS_JAVA_ARGS% %SCRIPT_NAME_ARG% org.opends.server.core.DirectoryServer --configClass org.opends.server.extensions.ConfigFileHandler --configFile "%INSTANCE_ROOT%\config\config.ldif" %* >> %LOG%
set ERROR_CODE=%errorlevel%
goto exitErrorCode
:runDetach
echo %SCRIPT%: Run detach >> %LOG%
echo. > "%INSTANCE_ROOT%\logs\server.out"
echo. > "%INSTANCE_ROOT%\logs\server.starting"
if exist "%INSTANCE_ROOT%\lib\set-java-args.bat" DO call "%INSTANCE_ROOT%\lib\set-java-args.bat"
"%INSTALL_ROOT%\lib\winlauncher.exe" start "%INSTANCE_ROOT%" "%OPENDS_JAVA_BIN%" %OPENDS_JAVA_ARGS% %SCRIPT_NAME_ARG% org.opends.server.core.DirectoryServer --configClass org.opends.server.extensions.ConfigFileHandler --configFile "%INSTANCE_ROOT%\config\config.ldif" %*
echo %SCRIPT%: Waiting for "%INSTANCE_ROOT%\logs\server.starting" to be deleted >> %LOG%
"%OPENDS_JAVA_BIN%" -Xms8M -Xmx8M org.opends.server.tools.WaitForFileDelete --targetFile "%INSTANCE_ROOT%\logs\server.starting" --logFile "%INSTANCE_ROOT%\logs\server.out" %*
goto checkStarted
:runDetachQuiet
echo %SCRIPT%: Run detach >> %LOG%
echo. > "%INSTANCE_ROOT%\logs\server.out"
echo. > "%INSTANCE_ROOT%\logs\server.starting"
if exist "%INSTANCE_ROOT%\lib\set-java-args.bat" DO call "%INSTANCE_ROOT%\lib\set-java-args.bat"
"%INSTALL_ROOT%\lib\winlauncher.exe" start "%INSTANCE_ROOT%" "%OPENDS_JAVA_BIN%" %OPENDS_JAVA_ARGS% %SCRIPT_NAME_ARG% org.opends.server.core.DirectoryServer --configClass org.opends.server.extensions.ConfigFileHandler --configFile "%INSTANCE_ROOT%\config\config.ldif" %*
echo %SCRIPT%: Waiting for "%INSTANCE_ROOT%\logs\server.starting" to be deleted >> %LOG%
"%OPENDS_JAVA_BIN%" -Xms8M -Xmx8M org.opends.server.tools.WaitForFileDelete --targetFile "%INSTANCE_ROOT%\logs\server.starting" --logFile "%INSTANCE_ROOT%\logs\server.out" %* >> %LOG%
goto checkStarted
:runDetachCalledByWinService
rem We write the output of the start command to the winservice.out file.
echo %SCRIPT%: Run detach called by windows service >> %LOG%
echo. > "%INSTANCE_ROOT%\logs\server.out"
echo. > "%INSTANCE_ROOT%\logs\server.starting"
echo. > "%INSTANCE_ROOT%\logs\server.startingservice"
echo. > "%INSTANCE_ROOT%\logs\winservice.out"
if exist "%INSTANCE_ROOT%\lib\set-java-args.bat" DO call "%INSTANCE_ROOT%\lib\set-java-args.bat"
"%INSTALL_ROOT%\lib\winlauncher.exe" start "%INSTANCE_ROOT%" "%OPENDS_JAVA_BIN%" -Xrs %OPENDS_JAVA_ARGS% %SCRIPT_NAME_ARG% org.opends.server.core.DirectoryServer --configClass org.opends.server.extensions.ConfigFileHandler --configFile "%INSTANCE_ROOT%\config\config.ldif" %*
echo %SCRIPT%: Waiting for "%INSTANCE_ROOT%\logs\server.starting" to be deleted >> %LOG%
"%OPENDS_JAVA_BIN%" -Xms8M -Xmx8M org.opends.server.tools.WaitForFileDelete --targetFile "%INSTANCE_ROOT%\logs\server.starting" --logFile "%INSTANCE_ROOT%\logs\server.out" --outputFile "%INSTANCE_ROOT%\logs\winservice.out" %*
erase "%INSTANCE_ROOT%\logs\server.startingservice"
goto checkStarted
:runAsService
echo %SCRIPT%: Run as service >> %LOG%
"%OPENDS_JAVA_BIN%" -Xms8M -Xmx8M org.opends.server.tools.StartWindowsService
echo %SCRIPT%: Waiting for "%INSTANCE_ROOT%\logs\server.startingservice" to be deleted >> %LOG%
"%OPENDS_JAVA_BIN%" -Xms8M -Xmx8M org.opends.server.tools.WaitForFileDelete --targetFile "%INSTANCE_ROOT%\logs\server.startingservice" %*
rem Type the contents the winwervice.out file and delete it.
if exist "%INSTANCE_ROOT%\logs\winservice.out" type "%INSTANCE_ROOT%\logs\winservice.out"
if exist "%INSTANCE_ROOT%\logs\winservice.out" erase "%INSTANCE_ROOT%\logs\winservice.out"
goto end
:checkStarted
"%OPENDS_JAVA_BIN%" -Xms8M -Xmx8M %SCRIPT_NAME_ARG% org.opends.server.core.DirectoryServer --configClass org.opends.server.extensions.ConfigFileHandler --configFile "%INSTANCE_ROOT%\config\config.ldif" --checkStartability > NUL 2>&1
if %errorlevel% == 98 goto serverStarted
goto serverNotStarted
:serverStarted
echo %SCRIPT%: finished >> %LOG%
set ERROR_CODE=0
goto exitErrorCode
:serverNotStarted
echo %SCRIPT%: finished >> %LOG%
set ERROR_CODE=1
goto exitErrorCode
:exitErrorCode
if "%OPENDS_EXIT_NO_BACKGROUND%" == "true" exit %ERROR_CODE%
exit /B %ERROR_CODE%
:end
echo %SCRIPT%: finished >> %LOG%