On 07/17/2012 03:51 AM, Sitapati das / Joshua J Wulf wrote:
My apologies if this is me totally failing to grok how this works...
A little more experimenting (this was done using the Fedora 16 packages):
qpid-config add queue doppleganger
qpid-config add exchange topic doppleganger
(in either order of execution) creates a queue *and* an exchange, both with
the name 'doppleganger'. Attempts to interact with them through addressing
will resolve to the queue only, regardless of the order of creation (tested
by using assert).
I would expect the second call to fail with an error "Object already
exists".
That would not be valid AMQP 0-10, where queues and exchanges are in
separate namespaces.
On the other hand:
spout 'uniqueindividual; {create:always, node:{type:topic}}'
spout 'uniqueindividual; {create:always, node:{type:queue}}'
(in either order of execution) creates only one object (whichever one you
put first). The second call will then route to the existing object.
This again is different from the c++ client, which would create an
exchange in the first instance and a queue in the second. I think the
c++ client has a more useful and consistent behaviour for cases where an
exchange and queue may share the same name.
That it doesn't create a second object with the same name seems more
intuitive than the behavior of qpid-config. However, I half-expected that
specifying a node type for create would imply assert if an object with that
name already exists.
No, the create option is really a create-unless-exists.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org