diff options
| author | Michael Klishin <michael@clojurewerkz.org> | 2016-01-05 18:39:21 +0300 |
|---|---|---|
| committer | Michael Klishin <michael@clojurewerkz.org> | 2016-01-05 18:39:21 +0300 |
| commit | 9eb26faadc07c9e99d191750cfd0c3dfd89ba7a3 (patch) | |
| tree | 5492148f660e641c7ccc0b2009f61ec7d42f09b1 | |
| parent | 9fc95989c2f854491bb7d4c9ccb3690773d0bacf (diff) | |
| parent | ef7a7f32a6b73fcac223849973a1c3b51c05b4dd (diff) | |
| download | rabbitmq-server-git-9eb26faadc07c9e99d191750cfd0c3dfd89ba7a3.tar.gz | |
Merge branch 'stable'
| -rw-r--r-- | src/rabbit_runtime_parameters.erl | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/rabbit_runtime_parameters.erl b/src/rabbit_runtime_parameters.erl index 8a52db4070..a9e401ed28 100644 --- a/src/rabbit_runtime_parameters.erl +++ b/src/rabbit_runtime_parameters.erl @@ -16,6 +16,37 @@ -module(rabbit_runtime_parameters). +%% Runtime parameters are bits of configuration that are +%% set, as the name implies, at runtime and not in the config file. +%% +%% The benefits of storing some bits of configuration at runtime vary: +%% +%% * Some parameters are vhost-specific +%% * Others are specific to individual nodes +%% * ...or even queues, exchanges, etc +%% +%% The most obvious use case for runtime parameters is policies but +%% there are others: +%% +%% * Plugin-specific parameters that only make sense at runtime, +%% e.g. Federation and Shovel link settings +%% * Exchange and queue decorators +%% +%% Parameters are grouped by components, e.g. <<"policy">> or <<"shovel">>. +%% Components are mapped to modules that perform validation. +%% Runtime parameter values are then looked up by the modules that +%% need to use them. +%% +%% Parameters are stored in Mnesia and can be global. Their changes +%% are broadcasted over rabbit_event. +%% +%% See also: +%% +%% * rabbit_policies +%% * rabbit_policy +%% * rabbit_registry +%% * rabbit_event + -include("rabbit.hrl"). -export([parse_set/5, set/5, set_any/5, clear/3, clear_any/3, list/0, list/1, |
