diff options
author | Emile Joubert <emile@rabbitmq.com> | 2010-11-30 15:57:26 +0000 |
---|---|---|
committer | Emile Joubert <emile@rabbitmq.com> | 2010-11-30 15:57:26 +0000 |
commit | cd644f51606a08324376335fe8d9b8dc54259821 (patch) | |
tree | b45e63e71255c4d9aa9b270f125c6238b7ba8d48 | |
parent | da9e6d2ba8ca5eba30dec82c6c06d1217bd1b7b9 (diff) | |
download | rabbitmq-server-cd644f51606a08324376335fe8d9b8dc54259821.tar.gz |
Check if nodename is available before startup
-rwxr-xr-x | scripts/rabbitmq-server | 4 | ||||
-rw-r--r-- | scripts/rabbitmq-server.bat | 5 | ||||
-rw-r--r-- | src/rabbit_plugin_activator.erl | 11 |
3 files changed, 14 insertions, 6 deletions
diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server index c5d883c3..66ce4384 100755 --- a/scripts/rabbitmq-server +++ b/scripts/rabbitmq-server @@ -91,8 +91,8 @@ if [ "x" = "x$RABBITMQ_NODE_ONLY" ]; then -pa "$RABBITMQ_EBIN_ROOT" \ -noinput \ -hidden \ - -s rabbit_plugin_activator \ - -extra "$RABBITMQ_PLUGINS_DIR" "${RABBITMQ_PLUGINS_EXPAND_DIR}" + -s rabbit_prelaunch \ + -extra "$RABBITMQ_PLUGINS_DIR" "${RABBITMQ_PLUGINS_EXPAND_DIR}" "${RABBITMQ_NODENAME}" then RABBITMQ_BOOT_FILE="${RABBITMQ_PLUGINS_EXPAND_DIR}/rabbit" RABBITMQ_EBIN_PATH="" diff --git a/scripts/rabbitmq-server.bat b/scripts/rabbitmq-server.bat index 94180de9..f972a4aa 100644 --- a/scripts/rabbitmq-server.bat +++ b/scripts/rabbitmq-server.bat @@ -117,9 +117,10 @@ set RABBITMQ_EBIN_ROOT=!TDP0!..\ebin "!ERLANG_HOME!\bin\erl.exe" ^
-pa "!RABBITMQ_EBIN_ROOT!" ^
-noinput -hidden ^
--s rabbit_plugin_activator ^
+-s rabbit_prelaunch ^
-extra "!RABBITMQ_PLUGINS_DIR:\=/!" ^
- "!RABBITMQ_PLUGINS_EXPAND_DIR:\=/!"
+ "!RABBITMQ_PLUGINS_EXPAND_DIR:\=/!" ^
+ "!RABBITMQ_NODENAME!"
set RABBITMQ_BOOT_FILE=!RABBITMQ_PLUGINS_EXPAND_DIR!\rabbit
if not exist "!RABBITMQ_BOOT_FILE!.boot" (
diff --git a/src/rabbit_plugin_activator.erl b/src/rabbit_plugin_activator.erl index 072f297e..59d8efd4 100644 --- a/src/rabbit_plugin_activator.erl +++ b/src/rabbit_plugin_activator.erl @@ -29,7 +29,7 @@ %% Contributor(s): ______________________________________. %% --module(rabbit_plugin_activator). +-module(rabbit_prelaunch). -export([start/0, stop/0]). @@ -52,7 +52,7 @@ start() -> io:format("Activating RabbitMQ plugins ...~n"), %% Determine our various directories - [PluginDir, UnpackedPluginDir] = init:get_plain_arguments(), + [PluginDir, UnpackedPluginDir, NodeName] = init:get_plain_arguments(), RootName = UnpackedPluginDir ++ "/rabbit", %% Unpack any .ez plugins @@ -130,6 +130,13 @@ start() -> [io:format("* ~s-~s~n", [App, proplists:get_value(App, AppVersions)]) || App <- PluginApps], io:nl(), + case net_kernel:start([list_to_atom(NodeName), shortnames]) of + {ok, _Pid} -> ok = net_kernel:stop(); + {error, Result} -> + terminate("starting node with name ~p failed - " + "an instance with the same name may already be running~n~p~n", + [NodeName, Result]) + end, halt(), ok. |