diff options
Diffstat (limited to 'scripts/rabbitmq-service.bat')
-rw-r--r-- | scripts/rabbitmq-service.bat | 271 |
1 files changed, 0 insertions, 271 deletions
diff --git a/scripts/rabbitmq-service.bat b/scripts/rabbitmq-service.bat deleted file mode 100644 index 0b7906d4bf..0000000000 --- a/scripts/rabbitmq-service.bat +++ /dev/null @@ -1,271 +0,0 @@ -@echo off
-REM This Source Code Form is subject to the terms of the Mozilla Public
-REM License, v. 2.0. If a copy of the MPL was not distributed with this
-REM file, You can obtain one at https://mozilla.org/MPL/2.0/.
-REM
-REM Copyright (c) 2007-2020 VMware, Inc. or its affiliates. All rights reserved.
-REM
-
-setlocal
-
-rem Preserve values that might contain exclamation marks before
-rem enabling delayed expansion
-set TN0=%~n0
-set TDP0=%~dp0
-set CONF_SCRIPT_DIR=%~dp0
-set P1=%1
-setlocal enabledelayedexpansion
-setlocal enableextensions
-
-if ERRORLEVEL 1 (
- echo "Failed to enable command extensions!"
- exit /B 1
-)
-
-REM Get default settings with user overrides for (RABBITMQ_)<var_name>
-REM Non-empty defaults should be set in rabbitmq-env
-call "%TDP0%\rabbitmq-env.bat" %~n0
-
-REM Check for the short names here too
-if "!RABBITMQ_USE_LONGNAME!"=="true" (
- set RABBITMQ_NAME_TYPE=-name
- set NAMETYPE=longnames
-) else (
- if "!USE_LONGNAME!"=="true" (
- set RABBITMQ_USE_LONGNAME=true
- set RABBITMQ_NAME_TYPE=-name
- set NAMETYPE=longnames
- ) else (
- set RABBITMQ_USE_LONGNAME=false
- set RABBITMQ_NAME_TYPE=-sname
- set NAMETYPE=shortnames
- )
-)
-
-REM [ "x" = "x$RABBITMQ_NODENAME" ] && RABBITMQ_NODENAME=${NODENAME}
-if "!RABBITMQ_NODENAME!"=="" (
- if "!NODENAME!"=="" (
- REM We use Erlang to query the local hostname because
- REM !COMPUTERNAME! and Erlang may return different results.
- REM Start erl with -sname to make sure epmd is started.
- call "%ERLANG_HOME%\bin\erl.exe" -A0 -noinput -boot start_clean -sname rabbit-prelaunch-epmd -eval "init:stop()." >nul 2>&1
- for /f "delims=" %%F in ('call "%ERLANG_HOME%\bin\erl.exe" -A0 -noinput -boot start_clean -eval "net_kernel:start([list_to_atom(""rabbit-gethostname-"" ++ os:getpid()), %NAMETYPE%]), [_, H] = string:tokens(atom_to_list(node()), ""@""), io:format(""~s~n"", [H]), init:stop()."') do @set HOSTNAME=%%F
- set RABBITMQ_NODENAME=rabbit@!HOSTNAME!
- set HOSTNAME=
- ) else (
- set RABBITMQ_NODENAME=!NODENAME!
- )
-)
-set NAMETYPE=
-
-REM Set Erlang distribution port, based on the AMQP TCP port.
-REM
-REM We do this only for the Windows service because in this case, the node has
-REM to start with the distribution enabled on the command line. For all other
-REM cases, distribution is configured at runtime.
-if "!RABBITMQ_NODE_PORT!"=="" (
- if not "!NODE_PORT!"=="" (
- set RABBITMQ_NODE_PORT=!NODE_PORT!
- ) else (
- set RABBITMQ_NODE_PORT=5672
- )
-)
-
-if "!RABBITMQ_DIST_PORT!"=="" (
- if "!DIST_PORT!"=="" (
- if "!RABBITMQ_NODE_PORT!"=="" (
- set RABBITMQ_DIST_PORT=25672
- ) else (
- set /a RABBITMQ_DIST_PORT=20000+!RABBITMQ_NODE_PORT!
- )
- ) else (
- set RABBITMQ_DIST_PORT=!DIST_PORT!
- )
-)
-
-set RABBITMQ_DIST_ARG=-kernel inet_dist_listen_min !RABBITMQ_DIST_PORT! -kernel inet_dist_listen_max !RABBITMQ_DIST_PORT!
-
-set STARVAR=
-shift
-:loop1
-if "%1"=="" goto after_loop
- set STARVAR=%STARVAR% %1
- shift
-goto loop1
-:after_loop
-
-if "!ERLANG_SERVICE_MANAGER_PATH!"=="" (
- if not exist "!ERLANG_HOME!\bin\erl.exe" (
- echo.
- echo ******************************
- echo ERLANG_HOME not set correctly.
- echo ******************************
- echo.
- echo Please either set ERLANG_HOME to point to your Erlang installation or place the
- echo RabbitMQ server distribution in the Erlang lib folder.
- echo.
- exit /B
- )
- for /f "delims=" %%i in ('dir /ad/b "!ERLANG_HOME!"') do if exist "!ERLANG_HOME!\%%i\bin\erlsrv.exe" (
- set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\%%i\bin
- )
-)
-
-set CONSOLE_FLAG=
-set CONSOLE_LOG_VALID=
-for %%i in (new reuse) do if "%%i" == "!RABBITMQ_CONSOLE_LOG!" set CONSOLE_LOG_VALID=TRUE
-if "!CONSOLE_LOG_VALID!" == "TRUE" (
- set CONSOLE_FLAG=-debugtype !RABBITMQ_CONSOLE_LOG!
-)
-
-rem *** End of configuration ***
-
-if not exist "!ERLANG_SERVICE_MANAGER_PATH!\erlsrv.exe" (
- echo.
- echo **********************************************
- echo ERLANG_SERVICE_MANAGER_PATH not set correctly.
- echo **********************************************
- echo.
- echo "!ERLANG_SERVICE_MANAGER_PATH!\erlsrv.exe" not found
- echo Please set ERLANG_SERVICE_MANAGER_PATH to the folder containing "erlsrv.exe".
- echo.
- exit /B 1
-)
-
-if "!P1!" == "install" goto INSTALL_SERVICE
-for %%i in (start stop) do if "%%i" == "!P1!" goto START_STOP_SERVICE
-for %%i in (disable enable list remove) do if "%%i" == "!P1!" goto MODIFY_SERVICE
-
-echo.
-echo *********************
-echo Service control usage
-echo *********************
-echo.
-echo !TN0! help - Display this help
-echo !TN0! install - Install the !RABBITMQ_SERVICENAME! service
-echo !TN0! remove - Remove the !RABBITMQ_SERVICENAME! service
-echo.
-echo The following actions can also be accomplished by using
-echo Windows Services Management Console (services.msc):
-echo.
-echo !TN0! start - Start the !RABBITMQ_SERVICENAME! service
-echo !TN0! stop - Stop the !RABBITMQ_SERVICENAME! service
-echo !TN0! disable - Disable the !RABBITMQ_SERVICENAME! service
-echo !TN0! enable - Enable the !RABBITMQ_SERVICENAME! service
-echo.
-exit /B
-
-
-:INSTALL_SERVICE
-
-if not exist "!RABBITMQ_BASE!" (
- echo Creating base directory !RABBITMQ_BASE! & mkdir "!RABBITMQ_BASE!"
-)
-
-"!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" list !RABBITMQ_SERVICENAME! 2>NUL 1>NUL
-if errorlevel 1 (
- "!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" add !RABBITMQ_SERVICENAME! -internalservicename !RABBITMQ_SERVICENAME!
-) else (
- echo !RABBITMQ_SERVICENAME! service is already present - only updating service parameters
-)
-
-set RABBITMQ_DEFAULT_ALLOC_ARGS=+MBas ageffcbf +MHas ageffcbf +MBlmbcs 512 +MHlmbcs 512 +MMmcs 30
-
-set RABBITMQ_START_RABBIT=
-if "!RABBITMQ_NODE_ONLY!"=="" (
- set RABBITMQ_START_RABBIT=-s "!RABBITMQ_BOOT_MODULE!" boot
-)
-
-if "!RABBITMQ_SERVICE_RESTART!"=="" (
- set RABBITMQ_SERVICE_RESTART=restart
-)
-
-set ENV_OK=true
-CALL :check_not_empty "RABBITMQ_BOOT_MODULE" !RABBITMQ_BOOT_MODULE!
-CALL :check_not_empty "RABBITMQ_NAME_TYPE" !RABBITMQ_NAME_TYPE!
-CALL :check_not_empty "RABBITMQ_NODENAME" !RABBITMQ_NODENAME!
-
-if "!ENV_OK!"=="false" (
- EXIT /b 78
-)
-
-set ERLANG_SERVICE_ARGUMENTS= ^
-!RABBITMQ_START_RABBIT! ^
--boot "!SASL_BOOT_FILE!" ^
-+W w ^
-!RABBITMQ_DEFAULT_ALLOC_ARGS! ^
-!RABBITMQ_SERVER_ERL_ARGS! ^
-!RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS! ^
-!RABBITMQ_SERVER_START_ARGS! ^
-!RABBITMQ_DIST_ARG! ^
--lager crash_log false ^
--lager handlers "[]" ^
-!STARVAR!
-
-set ERLANG_SERVICE_ARGUMENTS=!ERLANG_SERVICE_ARGUMENTS:\=\\!
-set ERLANG_SERVICE_ARGUMENTS=!ERLANG_SERVICE_ARGUMENTS:"=\"!
-
-rem We resolve %APPDATA% at install time so that the user's %APPDATA%
-rem is passed to `rabbit_env` at runtime (instead of the service's
-rem %APPDAT%).
-rem
-rem The goal is to keep the same behavior as when RabbitMQ data
-rem locations were decided in `rabbitmq-env.bat` (sourced by this
-rem script), even if now, we compute everything in `rabbit_env` at
-rem runtime.
-rem
-rem We may revisit this in the future so that no data is stored in a
-rem user-specific directory.
-"!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" set !RABBITMQ_SERVICENAME! ^
--onfail !RABBITMQ_SERVICE_RESTART! ^
--machine "!ERLANG_SERVICE_MANAGER_PATH!\erl.exe" ^
--env APPDATA="!APPDATA!" ^
--env ERL_LIBS="!ERL_LIBS!" ^
--env ERL_MAX_ETS_TABLES="!ERL_MAX_ETS_TABLES!" ^
--env ERL_MAX_PORTS="!ERL_MAX_PORTS!" ^
--workdir "!RABBITMQ_BASE!" ^
--stopaction "rabbit:stop_and_halt()." ^
-!RABBITMQ_NAME_TYPE! !RABBITMQ_NODENAME! ^
-!CONSOLE_FLAG! ^
--comment "Multi-protocol open source messaging broker" ^
--args "!ERLANG_SERVICE_ARGUMENTS!" > NUL
-
-if ERRORLEVEL 1 (
- EXIT /B 1
-)
-goto END
-
-
-:MODIFY_SERVICE
-
-"!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" !P1! !RABBITMQ_SERVICENAME!
-if ERRORLEVEL 1 (
- EXIT /B 1
-)
-goto END
-
-
-:START_STOP_SERVICE
-
-REM start and stop via erlsrv reports no error message. Using net instead
-net !P1! !RABBITMQ_SERVICENAME!
-if ERRORLEVEL 1 (
- EXIT /B 1
-)
-goto END
-
-:END
-
-EXIT /B 0
-
-:check_not_empty
-if "%~2"=="" (
- ECHO "Error: ENV variable should be defined: %1. Please check rabbitmq-env, rabbitmq-default, and !RABBITMQ_CONF_ENV_FILE! script files. Check also your Environment Variables settings"
- set ENV_OK=false
- EXIT /B 78
- )
-EXIT /B 0
-
-endlocal
-endlocal
-endlocal
|