[rabbitmq-discuss] Erlang Client Changes Since 2.2.0?

Chris Chew chrisch at ecollege.com
Fri May 13 16:25:03 BST 2011


> From: rabbitmq-discuss-bounces at lists.rabbitmq.com [rabbitmq-discuss-bounces at lists.rabbitmq.com] on behalf > > of Matthew Sackman [matthew at rabbitmq.com]
> Sent: Friday, May 13, 2011 6:02 AM
> To: rabbitmq-discuss at lists.rabbitmq.com
> Subject: Re: [rabbitmq-discuss] Erlang Client Changes Since 2.2.0?
> 
> Erm, no. And you'll be delighted to hear that some more API changes are
> in the pipeline too...

I see them!  I'm happy to see the Erlang client continues to grow up.

> > You do a great job with this with the java and .net clients, but I
> > don't see the analog for the erlang client.  There are a bunch of
> > commits in the hg repo since that time of 2.2.0, but I'd love to be
> > able to just skim past them...
> 
> Yeah, the problem is that the Erlang client "is not yet a supported
> client". It's very close to being there though: beyond the upcoming
> changes there's not much more that's in store for it and so it should
> enter a more stable period a la the Java and .Net clients.
> 
> > If there is no such summary, is there anything I should know up-front
> > about the changes?

> I can't remember the state of things in 2.2.0!

In 2.2.0 the connection:start methods had already been refactored between direct and network, functions generally returned standard erlang return values, but the error messages weren't all that consistent yet.

> Things like amqp_connection:start and :open_channel now return {ok,
> Thing} rather than just Thing. The main changes have been dealing with
> errors in a consistent and predictable way. Without working through all
> the bugs myself, I'm not really able to produce a summary. Possibly one
> sane way of finding out what's changed is to look at the merges to
> default of something like the shovel, which is really just a program
> using the erlang client and is also entirely in maintanance mode. Thus
> changes that have affected the shovel are also likely to affect you.

The shovel tip was a good one, thanks for that!

Between reading the shovel changes and the changes in the erlang-client repo itself, I see these highlights:

* Several internal cleanups and a few bug fixes
* Support for publisher confirms
* Better error messages sent back to the parent pid (brought to us by link() instead of monitor(), I think)

Does it sound like enough of the basic picture?

Thanks!

-Chris



More information about the rabbitmq-discuss mailing list