summaryrefslogtreecommitdiff
path: root/scripts/rabbitmq-server
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2014-03-31 13:25:42 +0100
committerSimon MacMullen <simon@rabbitmq.com>2014-03-31 13:25:42 +0100
commitfc53b92a0a00b4330366387ca61687e1e42256f9 (patch)
treecaca974dc2f003d9beb05dc7b640ca5edfea6cb7 /scripts/rabbitmq-server
parent63dcc9f6be8a3a76772fd6a24fcad36e9e48266d (diff)
parentb795aeb8dd38c59cdcf225f05a9b7dbd4eb4d76d (diff)
downloadrabbitmq-server-git-fc53b92a0a00b4330366387ca61687e1e42256f9.tar.gz
Merge bug26088
Diffstat (limited to 'scripts/rabbitmq-server')
-rwxr-xr-xscripts/rabbitmq-server33
1 files changed, 23 insertions, 10 deletions
diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server
index b430eec3fa..03cd80e11a 100755
--- a/scripts/rabbitmq-server
+++ b/scripts/rabbitmq-server
@@ -12,7 +12,7 @@
## The Original Code is RabbitMQ.
##
## The Initial Developer of the Original Code is GoPivotal, Inc.
-## Copyright (c) 2007-2013 GoPivotal, Inc. All rights reserved.
+## Copyright (c) 2007-2014 GoPivotal, Inc. All rights reserved.
##
# Get default settings with user overrides for (RABBITMQ_)<var_name>
@@ -29,6 +29,10 @@ DEFAULT_NODE_PORT=5672
[ "x" = "x$RABBITMQ_NODE_IP_ADDRESS" ] && [ "x" != "x$RABBITMQ_NODE_PORT" ] && RABBITMQ_NODE_IP_ADDRESS=${DEFAULT_NODE_IP_ADDRESS}
[ "x" != "x$RABBITMQ_NODE_IP_ADDRESS" ] && [ "x" = "x$RABBITMQ_NODE_PORT" ] && RABBITMQ_NODE_PORT=${DEFAULT_NODE_PORT}
+[ "x" = "x$RABBITMQ_DIST_PORT" ] && RABBITMQ_DIST_PORT=${DIST_PORT}
+[ "x" = "x$RABBITMQ_DIST_PORT" ] && [ "x" = "x$RABBITMQ_NODE_PORT" ] && RABBITMQ_DIST_PORT=$((${DEFAULT_NODE_PORT} + 20000))
+[ "x" = "x$RABBITMQ_DIST_PORT" ] && [ "x" != "x$RABBITMQ_NODE_PORT" ] && RABBITMQ_DIST_PORT=$((${RABBITMQ_NODE_PORT} + 20000))
+
[ "x" = "x$RABBITMQ_NODENAME" ] && RABBITMQ_NODENAME=${NODENAME}
[ "x" = "x$RABBITMQ_SERVER_ERL_ARGS" ] && RABBITMQ_SERVER_ERL_ARGS=${SERVER_ERL_ARGS}
[ "x" = "x$RABBITMQ_CONFIG_FILE" ] && RABBITMQ_CONFIG_FILE=${CONFIG_FILE}
@@ -82,15 +86,23 @@ case "$(uname -s)" in
esac
RABBITMQ_EBIN_ROOT="${RABBITMQ_HOME}/ebin"
-if ! ${ERL_DIR}erl -pa "$RABBITMQ_EBIN_ROOT" \
- -boot "${CLEAN_BOOT_FILE}" \
- -noinput \
- -hidden \
- -s rabbit_prelaunch \
- -sname rabbitmqprelaunch$$ \
- -extra "${RABBITMQ_NODENAME}";
- then
- exit 1;
+
+RABBITMQ_CONFIG_FILE=$RABBITMQ_CONFIG_FILE \
+RABBITMQ_DIST_PORT=$RABBITMQ_DIST_PORT \
+ ${ERL_DIR}erl -pa "$RABBITMQ_EBIN_ROOT" \
+ -boot "${CLEAN_BOOT_FILE}" \
+ -noinput \
+ -hidden \
+ -s rabbit_prelaunch \
+ -sname rabbitmqprelaunch$$ \
+ -extra "${RABBITMQ_NODENAME}"
+
+PRELAUNCH_RESULT=$?
+if [ ${PRELAUNCH_RESULT} = 1 ] ; then
+ exit 1
+elif [ ${PRELAUNCH_RESULT} = 0 ] ; then
+ # dist port is not mentioned in the config file, we can set it
+ RABBITMQ_DIST_ARG="-kernel inet_dist_listen_min ${RABBITMQ_DIST_PORT} -kernel inet_dist_listen_max ${RABBITMQ_DIST_PORT}"
fi
RABBITMQ_CONFIG_ARG=
@@ -125,4 +137,5 @@ exec ${ERL_DIR}erl \
-os_mon start_memsup false \
-mnesia dir "\"${RABBITMQ_MNESIA_DIR}\"" \
${RABBITMQ_SERVER_START_ARGS} \
+ ${RABBITMQ_DIST_ARG} \
"$@"