此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring AMQP 3.2.6spring-doc.cadn.net.cn

自 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

观察

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

原生图像

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

异步兔模板

AsyncRabbitTemplate现在返回CompletableFutures 而不是ListenableFutures. 有关更多信息,请参阅异步兔子模板

流支持更改

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

现在支持超级流和其上的单个活动消费者。spring-doc.cadn.net.cn

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

@RabbitListener变化

批量侦听器现在可以使用Collection<?>以及List<?>. 批处理消息传递适配器现在确保该方法适合使用批处理。 设置集装箱工厂时consumerBatchEnabledtruebatchListener属性也设置为true. 有关详细信息,请参阅@RabbitListener使用批处理。spring-doc.cadn.net.cn

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

您现在可以配置ReplyPostProcessor通过容器工厂,而不是通过@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库来确定哪个节点是队列的领导者。 看队列关联和LocalizedQueueConnectionFactory了解更多信息。spring-doc.cadn.net.cn