qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rajith Attapattu <rajit...@gmail.com>
Subject Re: handling no-local for existing queues
Date Mon, 13 Feb 2012 19:42:48 GMT
On Mon, Feb 13, 2012 at 12:53 PM, Robbie Gemmell
<robbie.gemmell@gmail.com> 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.

> 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.

> 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.


> Robbie
> On 13 February 2012 17:36, Rajith Attapattu <rajith77@gmail.com> 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:dev-subscribe@qpid.apache.org
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:dev-subscribe@qpid.apache.org

Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org

View raw message