summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2011-09-22 18:54:22 +0100
committerAlexandru Scvortov <alexandru@rabbitmq.com>2011-09-22 18:54:22 +0100
commit005d9e704129f3c59b9c2a3ecf1a776c350fe45e (patch)
treece26a1984cbc998ea7852150892bb2b0cef4b92f /src
parent3bb75c177cfbbef998dab297682ba8e1468b6add (diff)
downloadrabbitmq-server-git-005d9e704129f3c59b9c2a3ecf1a776c350fe45e.tar.gz
warn when a RabbitMQ restart is necessary
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_plugins.erl21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/rabbit_plugins.erl b/src/rabbit_plugins.erl
index 3264925e18..ca86b618a3 100644
--- a/src/rabbit_plugins.erl
+++ b/src/rabbit_plugins.erl
@@ -84,7 +84,9 @@ action(list, [Pat], Opts) ->
action(enable, ToEnable0, _Opts) ->
AllPlugins = find_plugins(),
- EnabledPlugins = lookup_plugins(read_enabled_plugins(), AllPlugins),
+ Enabled = read_enabled_plugins(),
+ EnabledPlugins = lookup_plugins(Enabled, AllPlugins),
+ ImplicitlyEnabled = calculate_required_plugins(Enabled, AllPlugins),
ToEnable = [list_to_atom(Name) || Name <- ToEnable0],
ToEnablePlugins = lookup_plugins(ToEnable, AllPlugins),
Missing = ToEnable -- plugin_names(ToEnablePlugins),
@@ -93,8 +95,13 @@ action(enable, ToEnable0, _Opts) ->
_ -> io:format("Warning: the following plugins could not be found: ~p~n",
[Missing])
end,
- NewEnabledPlugins = merge_plugin_lists(EnabledPlugins, ToEnablePlugins),
- update_enabled_plugins(plugin_names(NewEnabledPlugins));
+ NewEnabled = plugin_names(merge_plugin_lists(EnabledPlugins, ToEnablePlugins)),
+ update_enabled_plugins(NewEnabled),
+ case NewEnabled -- ImplicitlyEnabled of
+ [] -> ok;
+ _ -> io:format("Plugin configuration has changed. "
+ "You should restart RabbitMQ.~n")
+ end;
action(disable, ToDisable0, _Opts) ->
ToDisable = [list_to_atom(Name) || Name <- ToDisable0],
@@ -117,7 +124,13 @@ action(disable, ToDisable0, _Opts) ->
"because their dependencies are no longer met: ~p~n",
[AlsoDisabled])
end,
- update_enabled_plugins(Enabled -- ToDisable2).
+ NewEnabled = Enabled -- ToDisable2,
+ case length(Enabled) =:= length(NewEnabled) of
+ true -> ok;
+ false -> update_enabled_plugins(NewEnabled),
+ io:format("Plugin configuration has changed. "
+ "You should restart RabbitMQ.~n")
+ end.
%%----------------------------------------------------------------------------