activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sebastian Rodriguez <srodrig...@gmail.com>
Subject Re: Topic Inheritance
Date Thu, 15 Apr 2010 05:38:10 GMT
Hi canal,
Yes, car.ford.> and car.ford.* will receive the same messages.

The difference is that for example you want to receive all the messages
concerning truck, *.*.truck will make the trick :)

For the difference between * and > maybe this other example will help you
understand:

a.b.c
a.b.d
a.e.c


   - if you subscribe to a.> you will receive everything sent to "a.b.c",
   "a.b.d", "a.e.c", "a.b", "a.e", "a"
   this will be equivalent as a.*.*


   - if you subscribe to a.b.> you will receive messages sent to "a.b.c",
   "a.b.d", "a.b"
   this is equivalent of subscribing to a.b.*


   - The problem comes if, let's say, you want to subscribe to "everything
   that ends with c"
   you will have to subscribe to "*.*.c" This is not translatable to a ">"
   expression.

You might ask yourself: then, why use the ">" if i can always translate it
to "*" expression. Well, sometimes you simply dont know the depth of the
childs, and it's more error proof. I would rather subscribe to "lambda.>"
than to "lambda.*.*.*.*.*" for eg

Hope this has clarified your doubts!


On 15 April 2010 12:20, go canal <gocanal@yahoo.com> wrote:

> this solves my chat room use case also, thanks. I did not realize this
> feature, did not remember JMS has this.
>
> A question wrt > and *, not very clear about these two: if I have
> car.ford.suv, car.ford.truck
>
> are these two the same:
>  car.ford.>
>  car.ford.*
>
>  rgds,
> canal
>
>
>
>
> ________________________________
> From: Rob Davies <rajdavies@gmail.com>
> To: users@activemq.apache.org
> Sent: Thu, April 15, 2010 8:51:50 AM
> Subject: Re: Topic Inheritance
>
> Yes - ActiveMQ supports destination hierarchies  - a '.' dot notation
> denotes an element in the name.
> To extend your example - say you had models too - to subscribe to all Ford
> cars - you would use '>'.  e.g. car.ford.>
> You can use the '*' to subscribe to everything for
> So to subscribe to cars - you would subscribe to the topic car.>
> To subscribe to all cars of type mondeo - you would subscribe to
> car.*.modeo - or *.*.mondeo
>
> Hope that makes sense ?
> On 14 Apr 2010, at 17:35, carlosfocker wrote:
>
> >
> > Does ActiveMQ allow for topics to have parent topics?  For example, a
> parent
> > topic Car might have two child topics called Ford and Nissan.  If a
> > publisher publishes a message to the Car topic, both Ford and Nissan
> > subscribers would receive the message.  If a message is published to the
> > Nissan topic, only Nissan topic subscribers would receive the message.
> > --
> > View this message in context:
> http://old.nabble.com/Topic-Inheritance-tp28245081p28245081.html
> > Sent from the ActiveMQ - User mailing list archive at Nabble.com.
> >
>
>
>
>



-- 
Sebastien Rodriguez

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message