|
此版本仍在开发中,目前尚不稳定。如需最新稳定版本,请使用 Spring AMQP 4.0.2! |
3.0 版本相较于 2.4 版本的变更
观察
现在支持使用 Micrometer 启用计时器和跟踪的观察功能。 有关更多信息,请参阅 Micrometer 观察。
原生镜像
支持创建原生映像。
请参阅 原生映像 了解更多信息。
异步 Rabbit 模板
现在 AsyncRabbitTemplate 返回 CompletableFuture,而不是 ListenableFuture。异步 Rabbit 模板 以获取更多信息。 |
流支持变更
RabbitStreamOperations 和 RabbitStreamTemplate 方法现在返回 CompletableFuture,而不是 ListenableFuture。 |
现在支持超级流以及其上的单个活跃消费者。
请参阅 使用 RabbitMQ 流插件 以获取更多信息。
@RabbitListener变更
批处理监听器现在可以消费 Collection<?> 以及 List<?>。
批处理消息适配器现在确保该方法适合用于批处理消费。
当将容器工厂 consumerBatchEnabled 设置为 true 时,batchListener 属性也会被设置为 true。
有关更多信息,请参阅 @RabbitListener 支持批处理。
MessageConverter 可以返回 Optional.empty() 表示空值;当前由 Jackson2JsonMessageConverter 实现此功能。
有关更多信息,请参见 从 Message 转换。
现在,您可以通过容器工厂而非 @RabbitListener 上的属性来配置 ReplyPostProcessor。有关更多信息,请参阅 回复管理。
方法 @RabbitListener(以及 @RabbitHandler)现在可以声明为 Kotlin suspend 函数。
有关更多信息,请参阅 异步 @RabbitListener 返回类型。
从版本 3.0.5 开始,具有异步返回类型(包括 Kotlin 悬挂函数)的监听器在发生失败后会调用 RabbitListenerErrorHandler(如果已配置)。
连接工厂变更
默认的 addressShuffleMode 在 AbstractConnectionFactory 中现在是 RANDOM。
当提供多个地址时,这会导致连接到随机主机。
有关更多信息,请参阅 连接到集群。
该 LocalizedQueueConnectionFactory 不再使用 RabbitMQ http-client 库来确定哪个节点是队列的领导者。队列亲和性与 LocalizedQueueConnectionFactory 以获取更多信息。