For the latest stable version, please use Spring AMQP 3.2.0! |
Changes in 2.3 Since 2.2
This section describes the changes between version 2.2 and version 2.3. See Change History for changes in previous versions.
Connection Factory Changes
Two additional connection factories are now provided. See Choosing a Connection Factory for more information.
@RabbitListener
Changes
You can now specify a reply content type. See Reply ContentType for more information.
Message Converter Changes
The Jackson2JMessageConverter
s can now deserialize abstract classes (including interfaces) if the ObjectMapper
is configured with a custom deserializer.
See Deserializing Abstract Classes for more information.
Testing Changes
A new annotation @SpringRabbitTest
is provided to automatically configure some infrastructure beans for when you are not using SpringBootTest
.
See @SpringRabbitTest for more information.
RabbitTemplate Changes
The template’s ReturnCallback
has been refactored as ReturnsCallback
for simpler use in lambda expressions.
See Correlated Publisher Confirms and Returns for more information.
When using returns and correlated confirms, the CorrelationData
now requires a unique id
property.
See Correlated Publisher Confirms and Returns for more information.
When using direct reply-to, you can now configure the template such that the server does not need to return correlation data with the reply. See RabbitMQ Direct reply-to for more information.
Listener Container Changes
A new listener container property consumeDelay
is now available; it is helpful when using the RabbitMQ Sharding Plugin.
The default JavaLangErrorHandler
now calls System.exit(99)
.
To revert to the previous behavior (do nothing), add a no-op handler.
The containers now support the globalQos
property to apply the prefetchCount
globally for the channel rather than for each consumer on the channel.
See Message Listener Container Configuration for more information.
MessagePostProcessor Changes
The compressing MessagePostProcessor
s now use a comma to separate multiple content encodings instead of a colon.
The decompressors can handle both formats but, if you produce messages with this version that are consumed by versions earlier than 2.2.12, you should configure the compressor to use the old delimiter.
See the IMPORTANT note in Modifying Messages - Compression and More for more information.
Multiple Broker Support Improvements
See Multiple Broker (or Cluster) Support for more information.
RepublishMessageRecoverer Changes
A new subclass of this recoverer is not provided that supports publisher confirms. See Message Listeners and the Asynchronous Case for more information.