summaryrefslogtreecommitdiff
path: root/scripts/rabbitmq-server
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/rabbitmq-server')
-rwxr-xr-xscripts/rabbitmq-server21
1 files changed, 21 insertions, 0 deletions
diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server
index 548a085434..a517cc8182 100755
--- a/scripts/rabbitmq-server
+++ b/scripts/rabbitmq-server
@@ -113,6 +113,7 @@ fi
set -f
start_rabbitmq_server() {
+ check_start_params &&
RABBITMQ_CONFIG_FILE=$RABBITMQ_CONFIG_FILE \
exec ${ERL_DIR}erl \
-pa ${RABBITMQ_EBIN_ROOT} \
@@ -144,6 +145,7 @@ start_rabbitmq_server() {
}
stop_rabbitmq_server() {
+
RABBITMQCTL="$(dirname "$0")/rabbitmqctl"
if ${RABBITMQCTL} -n ${RABBITMQ_NODENAME} status >/dev/null 2>&1; then
@@ -151,6 +153,25 @@ stop_rabbitmq_server() {
fi
}
+check_start_params() {
+ check_not_empty RABBITMQ_BOOT_MODULE
+ check_not_empty RABBITMQ_NAME_TYPE
+ check_not_empty RABBITMQ_NODENAME
+ check_not_empty SASL_BOOT_FILE
+ check_not_empty RABBITMQ_IO_THREAD_POOL_SIZE
+}
+
+check_not_empty() {
+ local name="${1:?}"
+ local value
+ eval value=\$$name
+ if [ -z "$value" ]; then
+ echo "Error: ENV variable should be defined: $1.
+ Please check rabbitmq-env, rabbitmq-defaults, and $CONF_ENV_FILE script files"
+ exit 78
+ fi
+}
+
if [ 'x' = "x$RABBITMQ_ALLOW_INPUT" -a -z "$detached" ]; then
# When RabbitMQ runs in the foreground but the Erlang shell is
# disabled, we setup signal handlers to stop RabbitMQ properly. This