6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering@echo off
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem CDDL HEADER START
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem The contents of this file are subject to the terms of the
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem Common Development and Distribution License, Version 1.0 only
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem (the "License"). You may not use this file except in compliance
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem with the License.
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem or http://forgerock.org/license/CDDLv1.0.html.
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem See the License for the specific language governing permissions
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem and limitations under the License.
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem When distributing Covered Code, include this CDDL HEADER in each
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem file and include the License file at legal-notices/CDDLv1_0.txt.
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem If applicable, add the following below this CDDL HEADER, with the
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem fields enclosed by brackets "[]" replaced with your own identifying
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem information:
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem Portions Copyright [yyyy] [name of copyright owner]
07630cea1f3a845c09309f197ac7c4f11edd3b62Lennart Poetteringrem
07630cea1f3a845c09309f197ac7c4f11edd3b62Lennart Poetteringrem CDDL HEADER END
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem Copyright 2006-2010 Sun Microsystems, Inc.
b5efdb8af40ea759a1ea584c1bc44ecc81dd00ceLennart Poetteringrem Portions Copyright 2011-2013 ForgeRock AS
3ffd4af22052963e7a29431721ee204e634bea75Lennart Poettering
0d39fa9c69b97a2ceb156053deef69c0866c2b97Lennart Poetteringsetlocal
d15d0333be6a1ca7fdd99a1881d967b6be8f387aZbigniew Jędrzejewski-Szmek
07630cea1f3a845c09309f197ac7c4f11edd3b62Lennart Poetteringset PATH=%SystemRoot%
07630cea1f3a845c09309f197ac7c4f11edd3b62Lennart Poettering
07630cea1f3a845c09309f197ac7c4f11edd3b62Lennart Poetteringset OPENDJ_INVOKE_CLASS="org.opends.server.tools.StopDS"
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringset SCRIPT_NAME=stop-ds
4349cd7c1d153c4ffa23cf1cff1644e0afa9bcf0Lennart Poetteringfor %%i in (%~sf0) do set DIR_HOME=%%~dPsi..
6bedfcbb2970e06a4d3280c8fb62083d252ede73Lennart Poettering
07630cea1f3a845c09309f197ac7c4f11edd3b62Lennart Poetteringrem We keep this values to reset the environment before calling start-ds.
4e731273edfe852a3eee2949cd20f49fd5b4f6d7Lennart Poetteringset ORIGINAL_JAVA_ARGS=%OPENDJ_JAVA_ARGS%
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringset ORIGINAL_JAVA_HOME=%OPENDJ_JAVA_HOME%
8fcde01280adcbd07e8205b91ac52b06305b6208Lennart Poetteringset ORIGINAL_JAVA_BIN=%OPENDJ_JAVA_BIN%
07630cea1f3a845c09309f197ac7c4f11edd3b62Lennart Poettering
059cb3858acd038ff2cef10a3a99119bf71a8fc6Lennart Poetteringset INSTALL_ROOT=%DIR_HOME%
07630cea1f3a845c09309f197ac7c4f11edd3b62Lennart Poettering
07630cea1f3a845c09309f197ac7c4f11edd3b62Lennart Poetteringset INSTANCE_DIR=
689aede8c622ba68d9060e4edee27364445b2007Lennart Poetteringif exist "%INSTALL_ROOT%\instance.loc" (
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering set /p INSTANCE_DIR=<%INSTALL_ROOT%\instance.loc
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering) else (
e48fdd84432bbf9c2ecc339183258c7c33116032Lennart Poetteringset INSTANCE_DIR=.
6db615c17ee7a434f9e0c40d67a1f833d8f3cc9dLennart Poettering)
6db615c17ee7a434f9e0c40d67a1f833d8f3cc9dLennart Poetteringset CUR_DIR=%CD%
6db615c17ee7a434f9e0c40d67a1f833d8f3cc9dLennart Poetteringcd /d%INSTALL_ROOT%
6db615c17ee7a434f9e0c40d67a1f833d8f3cc9dLennart Poetteringcd /d%INSTANCE_DIR%
9f103625b145a397e67c3714766775b615c8b587Tobias Hungerset INSTANCE_ROOT=%CD%
9f103625b145a397e67c3714766775b615c8b587Tobias Hungercd /d%CUR_DIR%
9f103625b145a397e67c3714766775b615c8b587Tobias Hungerset TEMP_LOG="%TEMP%\logs\"
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering
5607d856b8606ba75446a07ab5e9048753e1d7a6Zbigniew Jędrzejewski-Szmekif NOT EXIST "%INSTANCE_ROOT%\logs\" (
5607d856b8606ba75446a07ab5e9048753e1d7a6Zbigniew Jędrzejewski-Szmek if NOT EXIST "%TEMP_LOG%" (
5607d856b8606ba75446a07ab5e9048753e1d7a6Zbigniew Jędrzejewski-Szmek md "%TEMP_LOG%"
5607d856b8606ba75446a07ab5e9048753e1d7a6Zbigniew Jędrzejewski-Szmek )
5607d856b8606ba75446a07ab5e9048753e1d7a6Zbigniew Jędrzejewski-Szmek set LOG="%TEMP_LOG%native-windows.out"
5607d856b8606ba75446a07ab5e9048753e1d7a6Zbigniew Jędrzejewski-Szmek) ELSE (
bf1d7ba70aceddb5dae0cd2e370b8afaf0c81b05Karel Zak set LOG="%INSTANCE_ROOT%\logs\native-windows.out"
7fd1b19bc9e9f5574f2877936b8ac267c7706947Harald Hoyer)
bf1d7ba70aceddb5dae0cd2e370b8afaf0c81b05Karel Zakset SCRIPT=stop-ds.bat
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem This is the template to use for logging. Make sure to use >>
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem echo %SCRIPT%: your-message-here >> %LOG%
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringecho %SCRIPT%: invoked >> %LOG%
00b4ffdecbb39d849af65c0ab741be482325a4a9Lennart Poettering
00b4ffdecbb39d849af65c0ab741be482325a4a9Lennart Poetteringrem Set environment variables
00b4ffdecbb39d849af65c0ab741be482325a4a9Lennart Poetteringset SCRIPT_UTIL_CMD=set-full-environment-and-test-java
00b4ffdecbb39d849af65c0ab741be482325a4a9Lennart Poetteringcall "%INSTALL_ROOT%\lib\_script-util.bat" %*
00b4ffdecbb39d849af65c0ab741be482325a4a9Lennart Poetteringif NOT %errorlevel% == 0 exit /B %errorlevel%
75f86906c52735c98dc0aa7e24b773edb42ee814Lennart Poettering
689aede8c622ba68d9060e4edee27364445b2007Lennart Poetteringecho %SCRIPT%: CLASSPATH=%CLASSPATH% >> %LOG%
689aede8c622ba68d9060e4edee27364445b2007Lennart Poettering
689aede8c622ba68d9060e4edee27364445b2007Lennart Poettering"%OPENDJ_JAVA_BIN%" %OPENDJ_JAVA_ARGS% %SCRIPT_NAME_ARG% org.opends.server.tools.StopDS --checkStoppability %*
689aede8c622ba68d9060e4edee27364445b2007Lennart Poettering
7410616cd9dbbec97cf98d75324da5cda2b2f7a2Lennart Poetteringif %errorlevel% == 98 goto serverAlreadyStopped
7410616cd9dbbec97cf98d75324da5cda2b2f7a2Lennart Poetteringif %errorlevel% == 99 goto startUsingSystemCall
7410616cd9dbbec97cf98d75324da5cda2b2f7a2Lennart Poetteringif %errorlevel% == 100 goto stopUsingSystemCall
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringif %errorlevel% == 101 goto restartUsingSystemCall
b7def684941808600c344f0be7a2b9fcdda97e0fLennart Poetteringif %errorlevel% == 102 goto stopUsingProtocol
d0aa9ce51915f6f7448adfeb4be0f46cc1356124Zbigniew Jędrzejewski-Szmekif %errorlevel% == 103 goto stopAsWindowsService
d0aa9ce51915f6f7448adfeb4be0f46cc1356124Zbigniew Jędrzejewski-Szmekif %errorlevel% == 104 goto restartAsWindowsService
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem An error or we display usage
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringgoto writeLastLine
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering
67ab5f761f9b854d8ce85f9ee47b298e497f8bd9Tom Gundersen:serverAlreadyStopped
67ab5f761f9b854d8ce85f9ee47b298e497f8bd9Tom Gundersenecho %SCRIPT%: server already stopped >> %LOG%
67ab5f761f9b854d8ce85f9ee47b298e497f8bd9Tom Gundersenif exist "%INSTANCE_ROOT%\logs\server.pid" erase "%INSTANCE_ROOT%\logs\server.pid"
56f64d95763a799ba4475daf44d8e9f72a1bd474Michal Schmidtgoto writeLastLine
d0aa9ce51915f6f7448adfeb4be0f46cc1356124Zbigniew Jędrzejewski-Szmek
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering:startUsingSystemCall
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringecho %SCRIPT%: start using system call >> %LOG%
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem Set the original values that the user had on the environment in order to be
64347fc2b983f33e7efb0fd2bb44e133fb9f30f4Tom Gundersenrem sure that the start-ds script works with the proper arguments (in particular
64347fc2b983f33e7efb0fd2bb44e133fb9f30f4Tom Gundersenrem if the user specified not to overwrite the environment).
c3834f9b881f2b1a68dc7d797c134f0b66b47b57Lennart Poetteringset OPENDJ_JAVA_ARGS=%ORIGINAL_JAVA_ARGS%
c3834f9b881f2b1a68dc7d797c134f0b66b47b57Lennart Poetteringset OPENDJ_JAVA_HOME=%ORIGINAL_JAVA_HOME%
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringset OPENDJ_JAVA_BIN=%ORIGINAL_JAVA_BIN%
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering"%INSTALL_ROOT%\bat\start-ds.bat"
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringgoto writeLastLine
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering
bf1d7ba70aceddb5dae0cd2e370b8afaf0c81b05Karel Zak:stopUsingSystemCall
bf1d7ba70aceddb5dae0cd2e370b8afaf0c81b05Karel Zakecho %SCRIPT%: stop using system call >> %LOG%
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering"%INSTALL_ROOT%\lib\winlauncher.exe" stop "%INSTANCE_ROOT%"
47cb901e38cd7092576fc8e76cc4a14f39bf719dLennart Poetteringgoto end
23bbb0de4e3f85d9704a5c12a5afa2dfa0159e41Michal Schmidt
23bbb0de4e3f85d9704a5c12a5afa2dfa0159e41Michal Schmidt:restartUsingSystemCall
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringecho %SCRIPT%: restart using system call >> %LOG%
b3208b662948b51ff34e7b7752e28ec7a48708aeZbigniew Jędrzejewski-Szmek"%INSTALL_ROOT%\lib\winlauncher.exe" stop "%INSTANCE_ROOT%"
bf1d7ba70aceddb5dae0cd2e370b8afaf0c81b05Karel Zakif not %errorlevel% == 0 goto end
b3208b662948b51ff34e7b7752e28ec7a48708aeZbigniew Jędrzejewski-Szmekgoto startUsingSystemCall
b3208b662948b51ff34e7b7752e28ec7a48708aeZbigniew Jędrzejewski-Szmek
b3208b662948b51ff34e7b7752e28ec7a48708aeZbigniew Jędrzejewski-Szmek:stopUsingProtocol
4e82fe5213bedcb70e25c0270e516d5f2706d8c8Tom Gundersenecho %SCRIPT%: stop using protocol >> %LOG%
5607d856b8606ba75446a07ab5e9048753e1d7a6Zbigniew Jędrzejewski-Szmekcall "%INSTALL_ROOT%\lib\_client-script.bat" %*
5607d856b8606ba75446a07ab5e9048753e1d7a6Zbigniew Jędrzejewski-Szmekgoto end
4e82fe5213bedcb70e25c0270e516d5f2706d8c8Tom Gundersen
4e82fe5213bedcb70e25c0270e516d5f2706d8c8Tom Gundersen:stopAsWindowsService
4e82fe5213bedcb70e25c0270e516d5f2706d8c8Tom Gundersenecho %SCRIPT%: stop as windows service >> %LOG%
4e82fe5213bedcb70e25c0270e516d5f2706d8c8Tom Gundersen"%OPENDJ_JAVA_BIN%" -client org.opends.server.tools.StopWindowsService
4a62c710b62a5a3c7a8a278b810b9d5b5a0c8f4fMichal Schmidtgoto end
4a62c710b62a5a3c7a8a278b810b9d5b5a0c8f4fMichal Schmidt
4e82fe5213bedcb70e25c0270e516d5f2706d8c8Tom Gundersen:restartAsWindowsService
4e82fe5213bedcb70e25c0270e516d5f2706d8c8Tom Gundersenecho %SCRIPT%: restart as windows service, stopping >> %LOG%
d0aa9ce51915f6f7448adfeb4be0f46cc1356124Zbigniew Jędrzejewski-Szmek"%OPENDJ_JAVA_BIN%" -client org.opends.server.tools.StopWindowsService
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringif not %errorlevel% == 0 goto end
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringecho %SCRIPT%: restart as windows service, starting >> %LOG%
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering"%OPENDJ_JAVA_BIN%" -client org.opends.server.tools.StartWindowsService
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering"%OPENDJ_JAVA_BIN%" -client org.opends.server.tools.WaitForFileDelete --targetFile "%INSTANCE_ROOT%\logs\server.startingservice"
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringrem Type the contents the winwervice.out file and delete it.
b9f111b93f9f442f00266f338b14f25ca8685352Zbigniew Jędrzejewski-Szmekif exist "%INSTANCE_ROOT%\logs\winservice.out" type "%INSTANCE_ROOT%\logs\winservice.out"
b9f111b93f9f442f00266f338b14f25ca8685352Zbigniew Jędrzejewski-Szmekif exist "%INSTANCE_ROOT%\logs\winservice.out" erase "%INSTANCE_ROOT%\logs\winservice.out"
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poetteringgoto end
6b1dc2bd3cdb3bd932b0692be636ddd2879edb92Lennart Poettering
3d22d1ab57bf44c92e4d9ca95d9728105dd3fb0dTom Gundersen:writeLastLine
3d22d1ab57bf44c92e4d9ca95d9728105dd3fb0dTom Gundersenecho %SCRIPT%: finished >> %LOG%
3d22d1ab57bf44c92e4d9ca95d9728105dd3fb0dTom Gundersengoto end
b9f111b93f9f442f00266f338b14f25ca8685352Zbigniew Jędrzejewski-Szmek
b9f111b93f9f442f00266f338b14f25ca8685352Zbigniew Jędrzejewski-Szmek:end
3d22d1ab57bf44c92e4d9ca95d9728105dd3fb0dTom Gundersen