diff options
| -rw-r--r-- | src/rabbit_exchange_type_direct.erl | 7 | ||||
| -rw-r--r-- | src/rabbit_exchange_type_fanout.erl | 7 | ||||
| -rw-r--r-- | src/rabbit_exchange_type_headers.erl | 7 | ||||
| -rw-r--r-- | src/rabbit_exchange_type_registry.erl | 7 | ||||
| -rw-r--r-- | src/rabbit_exchange_type_topic.erl | 7 |
5 files changed, 28 insertions, 7 deletions
diff --git a/src/rabbit_exchange_type_direct.erl b/src/rabbit_exchange_type_direct.erl index d944e06f7a..68d36e7ebe 100644 --- a/src/rabbit_exchange_type_direct.erl +++ b/src/rabbit_exchange_type_direct.erl @@ -38,6 +38,13 @@ -export([validate/1, create/1, recover/2, delete/2, add_binding/2, delete_binding/2]). -include("rabbit_exchange_type_spec.hrl"). +-rabbit_boot_step({?MODULE, + [{description, "exchange type direct"}, + {mfa, {rabbit_exchange_type_registry, register, + [<<"direct">>, ?MODULE]}}, + {requires, rabbit_exchange_type_registry}, + {enables, kernel_ready}]}). + description() -> [{name, <<"direct">>}, {description, <<"AMQP direct exchange, as per the AMQP specification">>}]. diff --git a/src/rabbit_exchange_type_fanout.erl b/src/rabbit_exchange_type_fanout.erl index 770619734a..60fd73d5c1 100644 --- a/src/rabbit_exchange_type_fanout.erl +++ b/src/rabbit_exchange_type_fanout.erl @@ -38,6 +38,13 @@ -export([validate/1, create/1, recover/2, delete/2, add_binding/2, delete_binding/2]). -include("rabbit_exchange_type_spec.hrl"). +-rabbit_boot_step({?MODULE, + [{description, "exchange type fanout"}, + {mfa, {rabbit_exchange_type_registry, register, + [<<"fanout">>, ?MODULE]}}, + {requires, rabbit_exchange_type_registry}, + {enables, kernel_ready}]}). + description() -> [{name, <<"fanout">>}, {description, <<"AMQP fanout exchange, as per the AMQP specification">>}]. diff --git a/src/rabbit_exchange_type_headers.erl b/src/rabbit_exchange_type_headers.erl index 4afaf388b8..0aa2b96243 100644 --- a/src/rabbit_exchange_type_headers.erl +++ b/src/rabbit_exchange_type_headers.erl @@ -39,6 +39,13 @@ -export([validate/1, create/1, recover/2, delete/2, add_binding/2, delete_binding/2]). -include("rabbit_exchange_type_spec.hrl"). +-rabbit_boot_step({?MODULE, + [{description, "exchange type headers"}, + {mfa, {rabbit_exchange_type_registry, register, + [<<"headers">>, ?MODULE]}}, + {requires, rabbit_exchange_type_registry}, + {enables, kernel_ready}]}). + -ifdef(use_specs). -spec(headers_match/2 :: (amqp_table(), amqp_table()) -> boolean()). -endif. diff --git a/src/rabbit_exchange_type_registry.erl b/src/rabbit_exchange_type_registry.erl index 11da75d183..722a926e9f 100644 --- a/src/rabbit_exchange_type_registry.erl +++ b/src/rabbit_exchange_type_registry.erl @@ -77,13 +77,6 @@ internal_register(TypeName, ModuleName) init([]) -> ?ETS_NAME = ets:new(?ETS_NAME, [protected, set, named_table]), - - %% TODO: split out into separate boot startup steps. - ok = internal_register(<<"direct">>, rabbit_exchange_type_direct), - ok = internal_register(<<"fanout">>, rabbit_exchange_type_fanout), - ok = internal_register(<<"headers">>, rabbit_exchange_type_headers), - ok = internal_register(<<"topic">>, rabbit_exchange_type_topic), - {ok, none}. handle_call({register, TypeName, ModuleName}, _From, State) -> diff --git a/src/rabbit_exchange_type_topic.erl b/src/rabbit_exchange_type_topic.erl index d64243374e..5080b3c916 100644 --- a/src/rabbit_exchange_type_topic.erl +++ b/src/rabbit_exchange_type_topic.erl @@ -38,6 +38,13 @@ -export([validate/1, create/1, recover/2, delete/2, add_binding/2, delete_binding/2]). -include("rabbit_exchange_type_spec.hrl"). +-rabbit_boot_step({?MODULE, + [{description, "exchange type topic"}, + {mfa, {rabbit_exchange_type_registry, register, + [<<"topic">>, ?MODULE]}}, + {requires, rabbit_exchange_type_registry}, + {enables, kernel_ready}]}). + -export([topic_matches/2]). -ifdef(use_specs). |
