2. 新功能

2.1. 自 2.4 以来 3.0 的变化

2.1.1. Java 17、Spring Framework 6.0

此版本需要 Spring Framework 6.0 和 Java 17spring-doc.cadn.net.cn

2.1.2. 远程处理

不再支持远程处理功能(使用 RMI)。spring-doc.cadn.net.cn

2.1.3. 观察

现在支持使用 Micrometer 对计时器启用观察和跟踪。 有关更多信息,请参阅千分尺观测spring-doc.cadn.net.cn

2.1.4. 原生镜像

支持创建本机映像。 有关更多信息,请参阅本机映像spring-doc.cadn.net.cn

2.1.5. AsyncRabbitTemplate

AsyncRabbitTemplate现在返回CompletableFutures 而不是ListenableFutures. 有关更多信息,请参阅 Async Rabbit Template

2.1.6. 流支持更改

RabbitStreamOperationsRabbitStreamTemplate方法现在返回CompletableFuture而不是ListenableFuture.

现在支持 Super 流及其上的单个活动使用者。spring-doc.cadn.net.cn

有关更多信息,请参阅使用 RabbitMQ Stream 插件spring-doc.cadn.net.cn

2.1.7.@RabbitListener变化

Batch 侦听器现在可以使用Collection<?>以及List<?>. 批处理消息传送适配器现在可确保该方法适用于使用批处理。 设置容器工厂时consumerBatchEnabledtruebatchListenerproperty 也被设置为true. 有关更多信息,请参阅使用 Batching @RabbitListenerspring-doc.cadn.net.cn

MessageConverters 现在可以返回Optional.empty()对于 null 值;这目前由Jackson2JsonMessageConverter. 看Message了解更多信息spring-doc.cadn.net.cn

您现在可以配置ReplyPostProcessor通过 Container Factory 而不是通过@RabbitListener. 有关更多信息,请参阅回复管理spring-doc.cadn.net.cn

@RabbitListener(以及@RabbitHandler) 方法现在可以声明为 Kotlinsuspend功能。 看异步@RabbitListener返回类型了解更多信息。spring-doc.cadn.net.cn

从版本 3.0.5 开始,具有异步返回类型(包括 Kotlin 挂起函数)的侦听器会调用RabbitListenerErrorHandler(如果已配置)。 以前,错误处理程序仅通过同步调用调用。spring-doc.cadn.net.cn

2.1.8. 连接出厂设置更改

默认的addressShuffleModeAbstractConnectionFactory现在是RANDOM. 这会导致在提供多个地址时连接到随机主机。 有关更多信息,请参阅连接到集群spring-doc.cadn.net.cn

LocalizedQueueConnectionFactory不再使用 RabbitMQhttp-client库来确定哪个节点是队列的领导者。 看Queue Affinity 和LocalizedQueueConnectionFactory了解更多信息。spring-doc.cadn.net.cn