跳到主要内容

2.3 版本相较于 2.2 版本的变更

DeepSeek V3 中英对照 Changes in 2.3 Since 2.2

本节描述了版本 2.2 和版本 2.3 之间的变化。有关之前版本的变化,请参见变更历史

连接工厂变更

现在提供了两个额外的连接工厂。更多信息请参见选择连接工厂

@RabbitListener 变更

你现在可以指定回复内容类型。更多信息请参见回复内容类型

消息转换器更改

Jackson2JMessageConverter 现在可以在 ObjectMapper 配置了自定义反序列化器的情况下反序列化抽象类(包括接口)。更多信息请参阅 反序列化抽象类

测试更改

提供了一个新的注解 @SpringRabbitTest,用于在你不使用 SpringBootTest 时自动配置一些基础设施 Bean。更多信息请参见 @SpringRabbitTest

RabbitTemplate 变更

模板的 ReturnCallback 已重构为 ReturnsCallback,以便在 lambda 表达式中更简单地使用。有关更多信息,请参阅 相关发布者确认和返回

在使用回调和相关确认时,CorrelationData 现在需要一个唯一的 id 属性。更多信息请参见 相关发布者确认和回调

在使用 direct reply-to 时,你现在可以配置模板,使得服务器不需要在回复中返回关联数据。有关更多信息,请参阅 RabbitMQ Direct reply-to

监听器容器变更

现在可以使用一个新的监听器容器属性 consumeDelay;它在使用 RabbitMQ 分片插件 时非常有用。

默认的 JavaLangErrorHandler 现在会调用 System.exit(99)。要恢复到之前的行为(不执行任何操作),请添加一个无操作的处理程序。

容器现在支持 globalQos 属性,以便在通道上全局应用 prefetchCount,而不是为通道上的每个消费者单独应用。

有关更多信息,请参见 消息监听器容器配置

MessagePostProcessor 变更

现在,压缩的 MessagePostProcessor 使用逗号而不是冒号来分隔多个内容编码。解压缩器可以处理这两种格式,但如果你使用此版本生成的消息,并且这些消息由早于 2.2.12 的版本消费,你应该将压缩器配置为使用旧的分隔符。更多信息请参见修改消息 - 压缩及其他中的重要说明。

多 Broker 支持改进

有关更多信息,请参阅多代理(或集群)支持

RepublishMessageRecoverer 更改

没有提供支持发布者确认的恢复器的新子类。有关更多信息,请参阅消息监听器和异步情况