May 15, 2015, 12:23:58 PM5/15/15
to rabbitm...@googlegroups.com, Gary Russell, Artem Bilan
I'd like to announce a breaking change in the RabbitMQ Java client 3.5.x.
We generally try to follow semantic versioning and not introduce breaking changes
in patch releases but in this case a breaking change is the right thing to do
(and we are at the mercy of javac).
In 3.5.2 and (unreleased) 3.5.3, Channel#close and ConnectionFactory#newConnection
throw a j.u.c.TimeoutException when the operation takes too long (10 seconds in both
cases, with better configurability coming later). Because Java has checked exceptions,
this is a breaking change even for Java users who'd never hit those timeouts.
On the upside, combined with more sensible InterruptedExceptions handling in 3.5.x,
those areas of the API are more predictable and should be significantly less likely
to cause ops pain.
Staff Software Engineer, Pivotal/RabbitMQ