2.3 中自 2.2 以来的变化

本节介绍版本 2.2 和版本 2.3 之间的更改。 有关以前版本中的更改,请参阅更改历史记录spring-doc.cadn.net.cn

连接工厂更改

现在提供了两个额外的连接工厂。 有关更多信息,请参阅选择连接工厂spring-doc.cadn.net.cn

@RabbitListener变化

您现在可以指定回复内容类型。 有关更多信息,请参阅 Reply ContentTypespring-doc.cadn.net.cn

消息转换器更改

Jackson2JMessageConverter现在可以反序列化抽象类(包括接口),如果ObjectMapper配置了自定义 deserializer。 有关更多信息,请参见Deserializing Abstract Classesspring-doc.cadn.net.cn

测试更改

新注释@SpringRabbitTest用于在您不使用SpringBootTest. 有关更多信息,请参阅 @SpringRabbitTestspring-doc.cadn.net.cn

RabbitTemplate 更改

模板的ReturnCallback已重构为ReturnsCallback以便在 Lambda 表达式中更简单地使用。 有关更多信息,请参阅 Correlated Publisher Confirms and Returnsspring-doc.cadn.net.cn

当使用 returns 和 correlated 确认时,CorrelationData现在需要一个唯一的id财产。 有关更多信息,请参阅 Correlated Publisher Confirms and Returnsspring-doc.cadn.net.cn

使用直接回复时,您现在可以配置模板,以便服务器不需要在回复中返回关联数据。 有关更多信息,请参阅 RabbitMQ Direct 回复spring-doc.cadn.net.cn

侦听器容器更改

新的 Listener Container 属性consumeDelay现已推出;在使用 RabbitMQ Sharding Plugin 时非常有用。spring-doc.cadn.net.cn

默认的JavaLangErrorHandler现在调用System.exit(99). 要恢复到之前的行为(不执行任何作),请添加 no-op 处理程序。spring-doc.cadn.net.cn

容器现在支持globalQos属性以应用prefetchCount全局的 channel,而不是 channel 上的每个使用者。spring-doc.cadn.net.cn

MessagePostProcessor 更改

压缩MessagePostProcessor现在使用逗号而不是冒号来分隔多个内容编码。 解压缩器可以处理这两种格式,但是,如果您使用此版本生成的消息被 2.2.12 之前的版本使用,则应将压缩器配置为使用旧的分隔符。 有关更多信息,请参阅修改消息 - 压缩等中的重要说明。spring-doc.cadn.net.cn

多个 Broker 支持改进

RepublishMessageRecoverer 更改

未提供支持 publisher 确认的此 recoverer 的新子类。 有关更多信息,请参见 Message Listeners and the Asynchronous Casespring-doc.cadn.net.cn