What’s New
Changes in 3.0 Since 2.4
Observation
Enabling observation for timers and tracing using Micrometer is now supported. See [micrometer-observation] for more information.
Native Images
Support for creating native images is provided. See [native-images] for more information.
AsyncRabbitTemplate
The AsyncRabbitTemplate now returns CompletableFuture s instead of ListenableFuture s.
See [async-template] for more information.
|
Stream Support Changes
RabbitStreamOperations and RabbitStreamTemplate methods now return CompletableFuture instead of ListenableFuture.
|
Super streams and single active consumers thereon are now supported.
See [stream-support] for more information.
@RabbitListener Changes
Batch listeners can now consume Collection<?> as well as List<?>.
The batch messaging adapter now ensures that the method is suitable for consuming batches.
When setting the container factory consumerBatchEnabled to true, the batchListener property is also set to true.
See [receiving-batch] for more infoprmation.
MessageConverter s can now return Optional.empty() for a null value; this is currently implemented by the Jackson2JsonMessageConverter.
See [Jackson2JsonMessageConverter-from-message] for more information
You can now configure a ReplyPostProcessor via the container factory rather than via a property on @RabbitListener.
See [async-annotation-driven-reply] for more information.
Connection Factory Changes
The default addressShuffleMode in AbstractConnectionFactory is now RANDOM. This results in connecting to a random host when multiple addresses are provided.
See [cluster] for more information.
The LocalizedQueueConnectionFactory no longer uses the RabbitMQ http-client library to determine which node is the leader for a queue.
See [queue-affinity] for more information.