Hi Antoine, > Do you know if the broker federation is planned for v7?
No - it won't be included in v7. Federation is a feature we'd would like to add in the medium term - but it requires the improved AMQP 1.0 support (which will be included in v7) as a building block. I would anticipate that simple federation would be added 2018. Kind regards, Keith/ On 3 March 2017 at 09:56, Antoine Chevin <antoine.che...@gmail.com> wrote: > Hello Rob, > > We gave a try ot the globalAddressDomains and it works fine. I think we > will use regular queue names and globalAddressDomains for our use case. > > Thank you! > Do you know if the broker federation is planned for v7? > > Regards, > Antoine > > -----Original Message----- > From: Rob Godfrey [mailto:rob.j.godf...@gmail.com] > Sent: jeudi 2 mars 2017 16:07 > To: users@qpid.apache.org > Subject: Re: Accessing queues with '/' in name in Rest API [qpid java > broker 6.0.4] > > On 2 March 2017 at 15:11, Antoine Chevin <antoine.che...@gmail.com> wrote: > >> Thank you Rob for the very detailed answer. >> I saw in the code >> (org.apache.qpid.server.protocol.v1_0.Session_1_0#remoteLinkCreation)t >> hat the exchange lookup is skipped if the address starts with a '/'. >> I intend to use a '/' in the beginning because I don't want the >> exchange lookup. >> Do you think it is a good approach? >> >> > So the intent here is that addresses that start with "/" are considered to > be "global" addresses as previously described, addresses that start with > "/" but match one of the gloabAddressDomains for the virtual host would > route within the virtual host to the appropriate destination, names that > begin with "/" but don't match one of the domains for the vhost would be > sent via federation to a remote broker (when that code gets completed - > obviously we don't have federation of that kind in the Java Broker > currently). > > So having a name which begins with "/" may work right now, but it's > reasonably likely it might break in the future. In general I would avoid > "/" as well as "?", ";", ",", "[", "]", "|", "(", and ")" in queue names. > > Is the plan that all your queues will start with the same /<foo>/... > prefix, or will different queues have different prefixes? > > -- Rob > > >> Thank you, >> Regards, >> Antoine >> >> -----Original Message----- >> From: Rob Godfrey [mailto:rob.j.godf...@gmail.com] >> Sent: jeudi 2 mars 2017 11:09 >> To: users@qpid.apache.org >> Subject: Re: Accessing queues with '/' in name in Rest API [qpid java >> broker 6.0.4] >> >> On 2 March 2017 at 10:46, Antoine Chevin <antoine.che...@gmail.com> wrote: >> >> > Thank you Rob for the answer. Yes it really helps! >> > I noticed that addresses in the form <exchange-name>/<routing-key> >> > are also used with AMQP 1-0. Is it expected? >> > >> > >> It is part of how the Java Broker maps the AMQP 0-x >> Exchange/Binding/Queue model into the AMQP 1.0 address space, yes. >> >> In short when the Java Broker receives a message to an address X it >> first looks to see if there is an exchange X, then if there is a queue >> X, then if X contains a / it looks to see if the part before the / is >> an exchange name, and if so it sends to that exchange with the part >> after the / being used as the routing key. >> >> When the Java Broker receives a request to consume from an address X >> it first looks to see if there is a Queue X, then if there is an >> Exchange X (in which case it creates a temporary queue and binds with >> an empty binding key), and then if X contains a / and the part before >> the X is an exchange name it will create a temporary queue and bind >> that to the exchange with the binding key being the part of X after the /. >> >> Note the asymmetry on send and consume that on send it first looks for >> an exchange and on consume it first looks for a queue. >> >> (There are a few more rules for the globalAddressDomains and for >> system addresses like $management, but the above is the general rule). >> >> -- Rob >> >> >> > Thank you, >> > Regards, >> > Antoine >> > >> > On 1 March 2017 at 20:25, Olivier Mallassi >> > <olivier.malla...@gmail.com> >> > wrote: >> > >> > > Rob, all >> > > >> > > Thank you rob for this. Could you please share more details >> > > regarding not using the "/"? >> > > >> > > >> > So there are a couple of reasons why I think not using a / makes sense: >> > >> > 1) Because of exactly the REST / encoding issue that you ran into - >> > using characters that often need escaping can cause a lot of issues >> > in config files, parameters etc... depending upon where the queue >> > name might be used you may end up encoding that / one, two or even >> > more times... this gets messy fast >> > >> > 2) Because in AMQP addressing we've been imaging the / as a >> > separator when using some sort of topological address scheme for >> > addressing in federated networks... for instance you might have a >> > queue for orders in you dongle department of your widget division of >> > your company foo.com... and you might expose that address as >> > //foo.com/widget/dongle/orders whereas someone connected directly >> > to >> the >> broker would just see the queue as "orders" >> > (though they could also address it by its full "global" name). The >> > Java Broker already makes some allowance for this with the notion of >> > "globalAddressDomains" which you can set on the virtual host. For >> > any domain <foo> in the list of defined globalAddressDomains, the >> > virtualhost will accept messages sent <foo>/M as if it were sent to >> > M (and the same with consuming). >> > >> > Also note that for the Java Broker an address of the form <exchange >> > name>/<routing key> can be used to send / receive via AMQP 0-x >> > exchange/routing-key semantics. >> > >> > Hope this helps, >> > Rob >> > >> > >> > > On our side we are using amqp 1.0 that, AFAIU, promotes the "complex" >> > > addressing plans >> > > The benefit for us would be >> > > - alignements between our http and amqp naming conventions. It is >> > > a nice to have but can help lisibility >> > > - use "URL" to route messages. Like the samples with the >> > > linkroutepattern >> > > >> > > Not sure these are good ideas btw. Any feedback is welcomed >> > > >> > > Regards >> > > >> > > On Wed, 1 Mar 2017 at 18:16, Rob Godfrey <rob.j.godf...@gmail.com> >> > wrote: >> > > >> > > > In general I'd advise against using the '/' character in queue >> > > > names if possible... however if you must, then you need double >> > > > encode the name, so "a/b" would become "a%252Fb" >> > > > >> > > > Hope this helps, >> > > > Rob >> > > > >> > > > On 1 March 2017 at 17:31, Antoine Chevin >> > > > <antoine.che...@gmail.com> >> > > wrote: >> > > > >> > > > > Hello, >> > > > > >> > > > > I created a queue with a '/' in the name. How can I access it >> > > > > in the >> > > rest >> > > > > api? >> > > > > I tried to encode the '/' with %2F but I still get a 422 "too >> > > > > many >> > > > entries >> > > > > in path for REST servlet queue." >> > > > > Can you please help? >> > > > > >> > > > > Regards, >> > > > > Antoine >> > > > > >> > > > >> > > >> > >> --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org