On 03/04/2014 11:00 AM, Rob Godfrey wrote:
The naive approach for a 1.0 address "foo" is (I guess) to look up on the broker side to see if the given there is an exchange named "foo" (in which case translate to 0-10 {exchange="foo", routing-key=""}) or a queue named "foo" (in which case translate to a 0-10 {exchange="",routing-key="foo").
That is what the c++ broker currently does.
However what if there is neither an exchange nor a queue named foo...
The c++ broker currently doesn't set an 0-10 reply to in that case.
In the opposite direction if you have an 0-10 address {exchange="foo",routing-key="bar"} how do we translate that into a 1-0 address.
The c++ broker will convert that to a reply-to of 'foo/bar' on the 1.0 message.
Does the C++ broker have an answer for this yet? My current train of thought is that I'll translate 1-0 addresses of the form "foo/bar" into exchange="foo", routing-key="bar" (and will also treat 1.0 links to destinations of that form accordingly). Addresses which begin with a "/" will be treated as AMQP Global addresses (per the emerging specs)... for conversion to 0-10 purposes that will be the no-name exchange and the address will go into the routing key.
That is essentially what the c++ broker does, except that as yet it doesn't support the same logic in resolving links (though I agree it may make sense to do so).
Addresses with no "/" will be treated as a queue - unless there is no queue in which case it will fall back to looking for an exchange
That's what the c++ broker does.
(this is the Java Broker's default behaviour for any address)... Where there is no queue or exchange the reply-to conversion will treat it as per a global address {exchange="",routing-key=address}.
As above, in this case I don't set a reply-to at all. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org