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


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to