[rabbitmq-discuss] Breaking API changes in JAva API 2.7.0

Irmo Manie irmo.manie at gmail.com
Mon Nov 14 10:43:24 GMT 2011


Hi Steve,

> Incidentally, we are interested if you see any anomalies in the
> Java Client info on the rabbitmq documentation pages. Since
> there have been some subtle threading changes in this release
> we appreciate feedback on these issues.

There is an expectation (at least mine) that the passed in
ExecutorService on newConnection is managed by the underlying
connection.
On any shutdown signal I see that the ChannelManager does this when
handling the exception.

There is a problem when connecting to a non-existing host. The
FrameHandler is created, and throwing a UnknownHostException, before
the AMQConnection is created and the ExecutorService is 'managed' and
thus the shutdown of the ExecutorService is left to the user again.

You can imagine that this causes a nice leak when you have an
automatic reconnection setup in place.

------------------

Also I noticed that basicConsume still causes the whole connection to
go down if you throw an exception.
I know that in previous client versions this was because it was called
from the connection thread, but I was expected this to be 'fixed' in
this release because of the separate thread pool for channels.

- Irmo


More information about the rabbitmq-discuss mailing list