跳到主要内容
版本:4.1.1

2.3 自 2.2 以来的变更

Doubao 中英对照 Changes in 2.3 Since 2.2

本节描述 2.2 版本与 2.3 版本之间的变更。历史版本的变更参见变更历史。

连接工厂变更​

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

@RabbitListener 变更​

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

消息转换器变更​

如果 ObjectMapper 配置了自定义反序列化器,Jackson2JMessageConverter 现在可以反序列化抽象类(包括接口)。更多信息参见反序列化抽象类。

测试变更​

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

RabbitTemplate 变更​

template 的 ReturnCallback 已重构为 ReturnsCallback,以便在 lambda 表达式中更简单地使用。更多信息参见关联的 Publisher Confirm 与 Return。

使用 return 和关联 confirm 时,CorrelationData 现在需要一个唯一的 id 属性。更多信息参见关联的 Publisher Confirm 与 Return。

使用 direct reply-to 时,现在可以配置 template,使服务器无需在回复中返回关联数据。更多信息参见RabbitMQ Direct reply-to。

Listener 容器变更​

现在新增了 listener 容器属性 consumeDelay;在使用RabbitMQ Sharding Plugin时它很有用。

默认的 JavaLangErrorHandler 现在会调用 System.exit(99)。要恢复此前行为(什么都不做),请添加一个空操作处理器。

容器现在支持 globalQos 属性,将 prefetchCount 全局应用于 channel,而不是应用于 channel 上的每个 consumer。

更多信息参见消息 Listener 容器配置。

MessagePostProcessor 变更​

压缩用的 MessagePostProcessor 现在用逗号分隔多个 content encoding,而不是冒号。解压缩器可处理两种格式,但如果你用本版本生产的消息要供 2.2.12 之前的版本消费,则应配置压缩器使用旧分隔符。更多信息参见修改消息——压缩及其他中的 IMPORTANT 说明。

多 Broker 支持改进​

更多信息参见多 Broker(或集群)支持。

RepublishMessageRecoverer 变更​

没有提供支持 publisher confirm 的新的 recoverer 子类。更多信息参见消息监听器与异步情形。