The AMQP 0-10 spec defines a URL format (connection.amqp-host-url) providing only the protocol address details for connecting to a host. Qpid's Connection URL http://cwiki.apache.org/qpid/connection-url-format.html defines additional properties supplied by a client in order to connect (user, password, vhost etc.) in an open ?name=value options list.
I'd like to propose the following simple extension to the AMQP standard format to make it as expressive as Qpids connection URL, looking for feedback from Qpid folks before I do: Extend the 0-10 URL grammar by allowing a list of ?name=value options after the URL. The options may be empty, so this is backwards compatible with the existing format URLs. The standard shall define a set of standard options that MUST be recognized corresponding to all the data items a client needs to send to open a connection (user, vhost, etc) An implementation MAY use additional proprietary options and MUST ignore any options it does not recognize. This differs from the current Qpid URL as follows: - user, pass, clientid, vhost become options rather values at the front of the URL - brokerlist option is replaced by the existing AMQP URL format, which specifies a list of brokers & is extensible to new protocols. It is straightforward to parse both formats since the AMQP url starts with amqp:[protocol stuff] whereas the Qpid format starts with amqp:// Improvements, objections, alternate suggestions most welcome. I'd like to get something up on the AMQP working group JIRA ASAP as there'll no doubt be plenty of debate. I think its important that we get Qpid and the spec aligned on this, as it will be a crucial point of interop. Cheers, Alan.
