自 2.4 以来 3.0 中的更改

Java 17、Spring 框架 6.0

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

远程处理

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

观察

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

本机映像

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

异步兔模板

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

流支持更改

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

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

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

@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

连接工厂更改

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

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