diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit.erl | 16 | ||||
| -rw-r--r-- | src/rabbit_control.erl | 10 |
2 files changed, 19 insertions, 7 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl index e6e80b4aac..bbe987893b 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -25,6 +25,8 @@ -export([log_location/1]). +-export([get_env/1, set_env/2, unset_env/1]). + %%--------------------------------------------------------------------------- %% Boot steps. -export([maybe_insert_default_data/0, boot_delegate/0, recover/0]). @@ -186,6 +188,9 @@ -spec(maybe_insert_default_data/0 :: () -> 'ok'). -spec(boot_delegate/0 :: () -> 'ok'). -spec(recover/0 :: () -> 'ok'). +-spec(get_env/1 :: (atom()) -> any()). +-spec(set_env/2 :: (atom(), any()) -> 'ok'). +-spec(unset_env/1 :: (atom()) -> 'ok'). -endif. @@ -514,3 +519,14 @@ log_rotation_result(ok, {error, SaslLogError}) -> {error, {cannot_rotate_sasl_logs, SaslLogError}}; log_rotation_result(ok, ok) -> ok. + +get_env(Key) -> + application:get_env(rabbit, Key). + +set_env(Key, Value) -> + application:set_env(rabbit, Key, Value), + rabbit_channel:refresh_config_all(). + +unset_env(Key) -> + application:unset_env(rabbit, Key), + rabbit_channel:refresh_config_all(). diff --git a/src/rabbit_control.erl b/src/rabbit_control.erl index 941699690c..5a013711a0 100644 --- a/src/rabbit_control.erl +++ b/src/rabbit_control.erl @@ -284,20 +284,16 @@ action(list_consumers, Node, _Args, Opts, Inform) -> action(set_env, Node, [Var, Term], _Opts, Inform) -> Inform("Setting control variable ~s for node ~p to ~s", [Var, Node, Term]), - rpc_call(Node, application, set_env, [rabbit, parse(Var), parse(Term)]); + rpc_call(Node, rabbit, set_env, [parse(Var), parse(Term)]); action(get_env, Node, [Var], _Opts, Inform) -> Inform("Getting control variable ~s for node ~p", [Var, Node]), - Val = rpc_call(Node, application, get_env, [rabbit, parse(Var)]), + Val = rpc_call(Node, rabbit, get_env, [parse(Var)]), io:format("~p~n", [Val]); action(unset_env, Node, [Var], _Opts, Inform) -> Inform("Clearing control variable ~s for node ~p", [Var, Node]), - rpc_call(Node, application, unset_env, [rabbit, parse(Var)]); - -action(refresh_config, Node, [], _Opts, Inform) -> - Inform("Refreshing configuration", []), - rpc_call(Node, rabbit_channel, refresh_config_all, []); + rpc_call(Node, rabbit, unset_env, [parse(Var)]); action(set_permissions, Node, [Username, CPerm, WPerm, RPerm], Opts, Inform) -> VHost = proplists:get_value(?VHOST_OPT, Opts), |
