On 13 February 2012 19:42, Rajith Attapattu <[email protected]> wrote: > On Mon, Feb 13, 2012 at 12:53 PM, Robbie Gemmell > <[email protected]> wrote: >> I cross-posted this on the JIRA so I'll report it here incase anyone >> wants a discussion :) >> >> >> I think the JIRA title is perhaps a little misleading, given the >> number of tests running that show it does work to an extent. > > Actually it should have been (corrected now) does not work when using > address strings. > The fix for QPID-3539 was only added to the BURL part. >
QPID-3539 was really just a Java broker change from what I remember, where the 0-10 path was incorrectly handling no-local at the session rather than connection level. I dont think the clients behaviour was modified at all, so it must have worked already for the BURL paths. >> Perhaps 'doesn't work when used on queues not originally declared no-local' >> would be clearer. The BURL usage may always send the queue declare, >> but redeclaring a queue that exists wont make it no-local. > > My bad, the intention of the JIRA was to address the issue of no-local > not working when using address strings. > But it seems I have unintentionally highlighted the issue of no-local > not working for existing queues. > > Speaking with Gordon, it seems, at-least from a JMS POV, that no local > for existing Queues is not an issue. > From the API doc "NoLocal - - if true, and the destination is a topic, > inhibits the delivery of messages published by its own connection. The > behavior for NoLocal is not specified if the destination is a queue. " > Since we obviously create the subscription queues for each topic at > the time of subscription, at least from a JMS pov we can easily ensure > that we pass the no-local argument when creating the queue. > Yeah, I must admit I did glance at the API earlier and saw the 'Destination' signature and assumed that meant Quues were fair game, but I didnt read the Javadoc or spec. If they arent given defined behaviour, then its fine the way it is based on the wording (for the BURL path that is, which does exactly what you propose based on the broker side code I saw earlier). >> The client currently only sends the no-local argument during queue >> creation as you mentioned, but there is support in the protocol for >> adding arguments to subscriptions so it could potentially be added >> there too (The protocol actually has a no-local field on the file and >> stream consume methods, so why it doesn't on the standard subscribe >> method I'm not sure). > > I vaguely remembered something like this hence the question. > Again speaking with Gordon I found the C++ broker does not support > no-local being sent as an argument during subscription. > However given the requirements around no-local for JMS I believe we > can just get away with Topics and not worry about Queues. > > Rajith Agreed (the Java broker doesnt support that just now either, I looked before replying earlier) > >> Robbie >> >> On 13 February 2012 17:36, Rajith Attapattu <[email protected]> wrote: >>> IIRC the no-local argument is passed on during queue-declare. >>> But if you create a subscription with no-local=true on an existing >>> queue how should we handle this situation ? >>> >>> Perhaps there is also a way to pass no-local in the arguments map when >>> creating a subscription ? >>> >>> Regards, >>> >>> Rajith >>> >>> --------------------------------------------------------------------- >>> Apache Qpid - AMQP Messaging Implementation >>> Project: http://qpid.apache.org >>> Use/Interact: mailto:[email protected] >>> >> >> --------------------------------------------------------------------- >> Apache Qpid - AMQP Messaging Implementation >> Project: http://qpid.apache.org >> Use/Interact: mailto:[email protected] >> > > --------------------------------------------------------------------- > Apache Qpid - AMQP Messaging Implementation > Project: http://qpid.apache.org > Use/Interact: mailto:[email protected] > --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:[email protected]
