[rabbitmq-discuss] Generic AMQP API / Java client library evolution (OT?)

Tony Garnock-Jones tonyg at lshift.net
Thu Feb 28 08:31:16 GMT 2008


Hi Holger,

Holger Hoffstätte wrote:
> A more general question about AMQP, hope that is not too OT. Does anybody 
> know if there are any plans for a generic Java API in terms of interfaces, 
> like JMS? I saw the note about the "properly modeled" client API on the 
> Rabbit roadmap and it was not entirely clear whether this will follow some 
> kind of common API. Looking at Qpid they seem to happily mix Qpid and JMS 
> APIs, which may help adoption but IMHO looks a bit questionable from an 
> evolutionary point of view, since AMQP is so much more powerful and 
> well-defined than JMS.

Agreed. I think a standard API is best evolved for a while before being 
more formally designed. IMO, we're still in the "evolution" phase, as 
people get to grips with working with AMQP.

We'd welcome any feedback on what style of API people would like to use. 
Personally, I think our Java API wasn't a bad first stab, but I actually 
prefer the style of our .NET API more. I'd really like to get the Java 
client library refactored to be more in the style of the .NET library.

Check out the .NET API docs at 
http://www.rabbitmq.com/releases/doc/rabbitmq-dotnet-release_20080125/rabbitmq-dotnet-1.2.8025.1832-net-2.0-htmldoc/ 
- the core namespace is RabbitMQ.Client, corresponding roughly to Java's 
  com.rabbitmq.client package.

Particular features I'd like to transplant are the way the shutdown 
protocols work, including the ability to get good information on the 
cause of the shutdown, and the way multiple protocol variants are 
supported (although clearly the way it's done in the .NET library today 
is just a start).

Tony





More information about the rabbitmq-discuss mailing list