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]