qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gordon Sim <g...@redhat.com>
Subject Re: Subject 'filters' (was Re: couple of proton Messenger questions.)
Date Thu, 07 Aug 2014 10:53:22 GMT
On 08/06/2014 07:17 PM, Fraser Adams wrote:
> With your suggestion the broker would interpret that as an address to
> the node amq.topic with the subject filter *.news. That makes logical
> sense given most peoples' experience of topics I think.
>
> But say I had a topic exchange called simply topic and a really simply
> non-wildcarded subject
>
> ./recv localhost/topic/news
>
> How is that address interpreted? Now I suspect that as the broker would
> know the topic node is a topic exchange you could still make the
> inference, but there is a bit of ambiguity around topic/news as it could
> equally refer to a node called "topic/news". I guess that in this
> scenario you'd first check for the node "topic/news" and if that didn't
> exist check that topic was a topic exchange and if so then apply the
> filter?

Yes. (Some brokers may prevent '/' in node names, though qpidd does not 
at present).

> I wonder what if there was for some bizarre reason a queue
> called topic too then there would be real ambiguity as you could in
> theory apply the filter to the message source from either node.

True, but the ambiguity exists regardless of any extra information in 
the address. At present the c++ broker supports disambiguation by having 
a terminus capability of 'queue' or 'topic' requested.

Since not all clients support setting capabilities, and there is no 
other standard way to disambiguate, in ithe absence of a capability 
being specified the queue is assumed rather than the exchange, unless 
there is a topic of the same name also, in which case that is preferred 
to the queue. This means that you can effectively chose which is 
preferred by creating a topic with the same name as an ambiguous exchange.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Mime
View raw message