summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Hood <0x6e6562@gmail.com>2008-10-10 16:18:06 +0100
committerBen Hood <0x6e6562@gmail.com>2008-10-10 16:18:06 +0100
commit40254c7bec6277dd259fc1b686f4a7ffab06e257 (patch)
tree16eb5048bcc7b03c9b45798c0110887ae137e2a2
parent9f4987da7816cad46476109d4ccc92a5cfe18a80 (diff)
downloadrabbitmq-server-40254c7bec6277dd259fc1b686f4a7ffab06e257.tar.gz
Default binding should be restored in exchange module
-rw-r--r--src/rabbit_amqqueue.erl10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index fb33a1e9..00ea2541 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -120,7 +120,7 @@ recover_durable_queues() ->
Queues = lists:map(fun start_queue_process/1, R),
rabbit_misc:execute_mnesia_transaction(
fun () ->
- lists:foreach(fun recover_queue/1, Queues),
+ lists:foreach(fun store_queue/1, Queues),
ok
end).
@@ -133,7 +133,8 @@ declare(QueueName, Durable, AutoDelete, Args) ->
case rabbit_misc:execute_mnesia_transaction(
fun () ->
case mnesia:wread({amqqueue, QueueName}) of
- [] -> ok = recover_queue(Q),
+ [] -> ok = store_queue(Q),
+ ok = add_default_binding(Q),
Q;
[ExistingQ] -> ExistingQ
end
@@ -155,11 +156,6 @@ start_queue_process(Q) ->
{ok, Pid} = supervisor:start_child(rabbit_amqqueue_sup, [Q]),
Q#amqqueue{pid = Pid}.
-recover_queue(Q) ->
- ok = store_queue(Q),
- ok = add_default_binding(Q),
- ok.
-
add_default_binding(#amqqueue{name = QueueName}) ->
Exchange = rabbit_misc:r(QueueName, exchange, <<>>),
RoutingKey = QueueName#resource.name,