Hi all, I have been very confused about the addressing and the mapping that we have (incompletely) defined as part of the documentation. I'm told that there is no implicit magic but there is some decision making going internally to determine what an address means. So for example if there is a queue called 'test', without any bindings. but I run drain and spout on test, some things automatically happen and I get the messages.
So I was wondering what would happen if I had a queue and an exchange with the same name? So I tried something: qpid-config add queue william qpid-config add queue henry qpid-config add exchange direct william qpid-config add exchange direct henry qpid-config bind william henry qpid-config bind henry william ./drain -f -c 100 william qpid isn't sure what to do. Fair enough!: Ambiguous address, please specify queue or topic as node type (But it means that someone could do something like this dynamically and cause issues) Okay so what about: ./drain -f -c 100 william/henry Ambiguous address, please specify queue or topic as node type How about: ./drain -f -c 100 henry/william; Ambiguous address, please specify queue or topic as node type Wait those aren't actually ambiguous. But actually they are. An address isn't really an exchange or a queue I'm told. However we do map an address to a queue or an exchange if we feel like it (I'm being flippant here - I mean there is some implicit mapping if it's not ambiguous). So I can create a queue that maps to an address very conveniently because of some convenient mapping rule that happens implicitly. How is that happening? It's these implicit mapping rules that are confusing. Where are these rules defined? Why is henry/william or william/henry ambiguous? Why don't we document this stuff better? Why do we have examples that imply that an address maps to a queue? William --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:[email protected]
