Spring AMQP 2.0.0 Milestone 3 is Available

We are pleased to announce that the third milestone for the Spring AMQP 2.0 release (2.0.0.M3) is now available.

36 JIRA Issues are included in this release, including bug fixes and a number of new features:

Initial support for broker-less integration testing - the TestRabbitTemplate discovers listener containers in the application context and invokes those containers' listeners for send() and sendAndReceive() operations. We intend to flush out this capability with more features before GA, including routing, and simulation of the various exchange types supported by RabbitMQ. Feedback is welcome.

Rollback with an external transaction manager is now consistent with local transactions.

The 4.1.x amqp-client library is now the default.

The RabbitTemplate now has an invoke() method which allows multiple operations to be performed sequentially on the same channel. This also enables features such as waitForConfirmsOrDie() provided by the underlying library, when sending multiple messages to the same channel.

null message properties are no longer included in toString() which makes debug logs easier to read.

@QueueBinding annotations now support multiple routing keys, and support custom exchange types.

We would like to thank several community members for their ongoing active contributions to the framework; scan the commits and give them some kudos!

We are working towards the M4 release in time for the Spring Boot 2.0 milestone; with the GA in early summer; shortly after the Spring Framework 5.0 release.