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