summaryrefslogtreecommitdiff
path: root/scripts/rabbitmq-service.bat
diff options
context:
space:
mode:
authorMichael Klishin <mklishin@pivotal.io>2016-03-17 17:44:12 +0000
committerMichael Klishin <mklishin@pivotal.io>2016-03-17 17:44:12 +0000
commit6e2f094bc73a22a805cbb236ae80378548a3ad47 (patch)
treed787b4a1e03c9e0d80aa6c6980ab67672a6f4749 /scripts/rabbitmq-service.bat
parent5f921b56324c8780014561e54b2632db87de6416 (diff)
parent1f45928d895868200ddc40592d73ef04f2150649 (diff)
downloadrabbitmq-server-git-6e2f094bc73a22a805cbb236ae80378548a3ad47.tar.gz
Merge branch 'master' into rabbitmq-server-550
Diffstat (limited to 'scripts/rabbitmq-service.bat')
-rw-r--r--scripts/rabbitmq-service.bat31
1 files changed, 31 insertions, 0 deletions
diff --git a/scripts/rabbitmq-service.bat b/scripts/rabbitmq-service.bat
index 473486d8ae..f302087f91 100644
--- a/scripts/rabbitmq-service.bat
+++ b/scripts/rabbitmq-service.bat
@@ -105,6 +105,16 @@ if not exist "!RABBITMQ_BASE!" (
echo Creating base directory !RABBITMQ_BASE! & md "!RABBITMQ_BASE!"
)
+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
+)
+
"!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!
@@ -140,6 +150,10 @@ if ERRORLEVEL 3 (
if not exist "!RABBITMQ_SCHEMA_DIR!\rabbitmq.schema" (
copy "!RABBITMQ_HOME!\priv\schema\rabbitmq.schema" "!RABBITMQ_SCHEMA_DIR!\rabbitmq.schema"
+ REM Try to create config file, if it doesn't exist
+ REM It still can fail to be created, but at least not for default install
+if not exist "!RABBITMQ_CONFIG_FILE!.config" (
+ echo []. > !RABBITMQ_CONFIG_FILE!.config
)
if exist "!RABBITMQ_CONFIG_FILE!.config" (
@@ -180,6 +194,10 @@ if "!RABBITMQ_IO_THREAD_POOL_SIZE!"=="" (
set RABBITMQ_IO_THREAD_POOL_SIZE=30
)
+if "!RABBITMQ_SERVICE_RESTART!"=="" (
+ set RABBITMQ_SERVICE_RESTART=restart
+)
+
set ERLANG_SERVICE_ARGUMENTS= ^
-pa "!RABBITMQ_EBIN_ROOT!" ^
-boot start_sasl ^
@@ -213,7 +231,10 @@ echo "!ERLANG_SERVICE_ARGUMENTS!" > "!RABBITMQ_CONFIG_FILE!.txt"
set ERLANG_SERVICE_ARGUMENTS=!ERLANG_SERVICE_ARGUMENTS:\=\\!
set ERLANG_SERVICE_ARGUMENTS=!ERLANG_SERVICE_ARGUMENTS:"=\"!
+
+
"!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" set !RABBITMQ_SERVICENAME! ^
+-onfail !RABBITMQ_SERVICE_RESTART! ^
-machine "!ERLANG_SERVICE_MANAGER_PATH!\erl.exe" ^
-env ERL_CRASH_DUMP="!RABBITMQ_BASE:\=/!/erl_crash.dump" ^
-env ERL_LIBS="!ERL_LIBS!" ^
@@ -235,5 +256,15 @@ 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