On Tue, Apr 26, 2011 at 5:33 PM, David Hawthorne <[email protected]> wrote:
> I found it confusing and difficult to use the new messaging API is because > it has new terminology for existing concepts (e.g. node, link, subject, > x-declare, x-bindings) that I already understood, as well as the difficulty > I had in trying to figure out exactly what the node and link concepts > represented. The fact that they represent different concepts (based on > inferences from your explanation) is only more confusing. At first glance > the messaging API looks really sweet and easy to use, but after digging into > it, it's actually harder to figure out and use than the old client API. > This goes all the way down to the fact that I skipped over the x-declare > and x-bindings bits of the documentation because of the "x-" in their names; > I thought they referred to special xml magic. > > I would agree that the messaging API is not easy to use, especially for those who have experience with the old client API. That said, the introduction of new terminology (node, link) is due to changes in the AMQP spec, not the Qpid folks just making up new terms for the fun of it. Many of the concepts in the old client API were based on the 0-8 (or prior) spec. In the 1-0r0 spec ( http://www.amqp.org/confluence/display/AMQP/AMQP+Specification), it seems like they tried to simplify things by removing exchanges and changing the binding key / routing key logic. As I understand it, the goal of the messaging API was to bridge the old spec and the new spec, which is not trivial given their differences. The "x-" prefix is called out in the spec as a standard way name vendor-specific options and avoid field name collisions. Other protocols use this same convention for headers. - Chris
