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