diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_channel.erl | 7 | ||||
| -rw-r--r-- | src/rabbit_exchange.erl | 15 |
2 files changed, 12 insertions, 10 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl index 10bf0445bb..ff0ca7040b 100644 --- a/src/rabbit_channel.erl +++ b/src/rabbit_channel.erl @@ -570,10 +570,11 @@ handle_method(#'exchange.declare'{exchange = ExchangeNameBin, {ok, FoundX} -> FoundX; {error, not_found} -> check_name('exchange', ExchangeNameBin), - case rabbit_misc:r_arg(VHostPath, exchange, Args, <<"ume">>) of + case rabbit_misc:r_arg(VHostPath, exchange, Args, + <<"alternate-exchange">>) of undefined -> ok; - UmeName -> check_read_permitted(ExchangeName, State), - check_write_permitted(UmeName, State), + AName -> check_read_permitted(ExchangeName, State), + check_write_permitted(AName, State), ok end, rabbit_exchange:declare(ExchangeName, diff --git a/src/rabbit_exchange.erl b/src/rabbit_exchange.erl index 0ec2d42dcd..0992b52b30 100644 --- a/src/rabbit_exchange.erl +++ b/src/rabbit_exchange.erl @@ -199,18 +199,19 @@ publish(X, Seen, Mandatory, Immediate, Txn, Mandatory, Immediate, Txn, Message) of {_, []} = R -> #exchange{name = XName, arguments = Args} = X, - case rabbit_misc:r_arg(XName, exchange, Args, <<"ume">>) of + case rabbit_misc:r_arg(XName, exchange, Args, + <<"alternate-exchange">>) of undefined -> R; - UmeName -> + AName -> NewSeen = [XName | Seen], - case lists:member(UmeName, NewSeen) of + case lists:member(AName, NewSeen) of true -> R; false -> - case lookup(UmeName) of - {ok, Ume} -> - publish(Ume, NewSeen, + case lookup(AName) of + {ok, AX} -> + publish(AX, NewSeen, Mandatory, Immediate, Txn, Message); {error, not_found} -> @@ -218,7 +219,7 @@ publish(X, Seen, Mandatory, Immediate, Txn, "unroutable message exchange for ~s " "does not exist: ~s", [rabbit_misc:rs(XName), - rabbit_misc:rs(UmeName)]), + rabbit_misc:rs(AName)]), R end end |
