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

Reply via email to