summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit_runtime_parameter.erl3
-rw-r--r--src/rabbit_runtime_parameters.erl13
2 files changed, 10 insertions, 6 deletions
diff --git a/src/rabbit_runtime_parameter.erl b/src/rabbit_runtime_parameter.erl
index 239a533bef..51a00db7a1 100644
--- a/src/rabbit_runtime_parameter.erl
+++ b/src/rabbit_runtime_parameter.erl
@@ -21,7 +21,8 @@
behaviour_info(callbacks) ->
[
{validate, 3},
- {notify, 3}
+ {notify, 3},
+ {notify_clear, 2}
];
behaviour_info(_Other) ->
undefined.
diff --git a/src/rabbit_runtime_parameters.erl b/src/rabbit_runtime_parameters.erl
index d78725df04..6b7cf497e2 100644
--- a/src/rabbit_runtime_parameters.erl
+++ b/src/rabbit_runtime_parameters.erl
@@ -39,10 +39,13 @@ set(AppName, Key, Term) ->
ok.
clear(AppName, Key) ->
- rabbit_misc:execute_mnesia_transaction(
- fun () ->
- ok = mnesia:delete(?TABLE, {AppName, Key}, write)
- end).
+ Module = lookup_app(AppName),
+ ok = rabbit_misc:execute_mnesia_transaction(
+ fun () ->
+ ok = mnesia:delete(?TABLE, {AppName, Key}, write)
+ end),
+ Module:notify_clear(AppName, Key),
+ ok.
list() ->
[p(P) || P <- rabbit_misc:dirty_read_all(?TABLE)].
@@ -55,7 +58,7 @@ list_formatted() ->
[pset(value, format(pget(value, P)), P) || P <- list()].
lookup(AppName, Key) ->
- case value(AppName, Key) of
+ case lookup0(AppName, Key, rabbit_misc:const(not_found)) of
not_found -> not_found;
Params -> p(Params)
end.