----- Original Message -----
> On 12/15/2011 08:47 PM, Andrew Kennedy wrote:
> > In particular, most of the documentation is for the C++ broker.
> 
> I don't think that is the case. Apart from the example on using the
> XML
> exchange and the section on 'cluster failover', what else is specific
> to
> the C++ broker?
> 
> [...]
> > The following example shows a typical address for my application,
> > which seems overly complex:
> >
> >     'app'/'destination'; {
> >         create: always,
> >         assert: never,
> >         link: {
> >             name: 'destination.id',
> >             reliability: unreliable,
> >             auto-delete: true
> >         },
> >         node: {
> >             type: topic,
> >             x-bindings: [
> >                 {
> >                     exchange: 'app',
> >                     key: 'destination.id'
> >                 }
> >             ]
> >         }
> >     }
> >
> > The aim here is to deliver messages sent to 'destination' on the
> > 'app' exchange to the 'destination.id' queue.
> 
> Do you want the 'app' exchange to be created on first use, by either
> a
> consumer or a producer?
> 
> What about the 'destination.id' queue; is that also supposed to be
> created by the producer if necessary, or just by the consumer? Is the
> lifecycle of that queue tied to the lifecycle of the consumer?
> 
> If the app exchange already exists and you simply want consumers
> using
> the address to receive messages sent with routing-key destination,
> then
> all you need is:
> 
>    app/destination
> 
> If you want to control the name of the subscription queue used you
> can
> add a link option for that:
> 
>    app/destination; {link:{name:'destination.id'}}
> 
> If you need the exchange to be created on demand you would need to
> expand this a little:
> 
>    app/destination; {
>      create:always,
>      node:{type:topic,x-declare:{type:<exchange-type>}},
>      link:{name:'destination.id'}
>    }
> 
> (If you don't specify the exchange type in an x-declare element
> within
> the node properties you will get a topic exchange created).
> 
> You cannot have a single producer create both the exchange and the
> queue
> via the evaluation of an address (that would seem rather an esoteric
> requirement to me however).

I've done it an it works.  I've kinda had to to achieve what I needed to do - 
trying to replace RabbitMQ in an implementation.  The use case doesn't assume 
that the exchange is already there when creating a "consumer" with a specific 
queue. So the address with node and link does the trick - though pretty ugly 
looking.

William

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

Reply via email to