On 27/07/07, Robert Greig <[EMAIL PROTECTED]> wrote: > On 26/07/07, Rafael Schloming <[EMAIL PROTECTED]> wrote: > > > > I think the goal is not necessarily to make the complex cases look > > simple, but rather to make the simple cases look normal, i.e. there is > > no reason we can't choose an URL syntax that looks normal when you're > > only specifying a single broker rather than a list of brokers. > > Yes, but I personally (and I accept this is entirely just opinion) > prefer orthogonality that covers all cases than "simplicity" that > results in more complex cases looking "different". > > > > Maybe we should create something more like a corbaloc address? > > > > I believe the 0-10 URL scheme is actually modeled on corbaloc. > > Having just looked at it briefly I can see that. It works much better > IMO than a "regular" URL and neatly handles multiple hosts etc. I > don't know why we didn't base it on corbaloc originally. I don't see > client_id in it but I presume that is because the concept has been > removed in 0-10.
We didn't base it on corbaloc before because I didn't know of corbalocs when I created the format. I agree that the suggested format in AMQP-95 is much better. I always hated the fact that we violated the RFC on urls by having :// in the URL when we don't have a hierarchical URL. Wouldn't it make sense there for to use this new, and incorporated format for our 0_10. As it won't be parsed correctly by the java URL class it will be easy to distinguish from the current 0_8 format. That said the 0_10 AMQP-95 proposal doesn't fully capture the information we need for JNDI. The url format is for notification of the failover cluster. The initial connection information, user/password/virtualhost is still missing. If clientID hasn't been removed in 0_10 then that too needs to be there. I have to say I haven't been following the upcoming 0_10 spec as much as I should have. There doesn't appear to be any discussion about how to represent the full information needed to create a connection to an AMQP broker. As a result I could be convinced to change the brokerlist value to be the new AMQP-95 failover url format but changing the ConnectionURL format without a standard format from the AMQP spec will just be an interim change. We have url structure that works changing it for another doesn't make a lot of sense to me. However if there is such a dislike of the current format then extending AMQP-95 through the given extension point does seem like the only way to go. When the AMQP spec includes an official connection url then we can use that as well. So some examples to help discussion: 0_8 format url amqp://guest:[EMAIL PROTECTED]/test?brokerlist='vm://:1,localhost,tcp://another:1234' 0_10 format url amqp:vm:1,localhost,tcp:another:1234/username=guest,password=guest,virtualhost=test,clientid=client of course if the client and broker were fully 0_10 supporting failover the above could be shortened to only include a single host and use the update mechanism to know what the failover servers were. We would of course be able to (and should) support both formats. -- Martin Ritchie
