此版本仍在开发中,目前尚不稳定。如需最新稳定版本,请使用 Spring AMQP 4.0.2spring-doc.cadn.net.cn

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

本节描述了版本 2.2 和版本 2.3 之间的变更。变更历史 中列出了之前版本的变更。spring-doc.cadn.net.cn

连接工厂变更

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

@RabbitListener变更

现在您可以指定回复内容类型。回复内容类型以获取更多信息。spring-doc.cadn.net.cn

消息转换器变更

现在,Jackson2JMessageConverter 可以反序列化抽象类(包括接口),前提是将 ObjectMapper 配置为使用自定义反序列化器。更多关于反序列化抽象类的信息spring-doc.cadn.net.cn

测试更改

提供了一个新的注解 @SpringRabbitTest,用于在您不使用 SpringBootTest 时自动配置一些基础设施 Bean。有关更多信息,请参阅 @SpringRabbitTestspring-doc.cadn.net.cn

RabbitTemplate 变更

模板的 ReturnCallback 已重构为 ReturnsCallback,以便在 Lambda 表达式中更简单地使用。相关发布者确认与返回 以获取更多信息。spring-doc.cadn.net.cn

在使用返回和关联确认时,CorrelationData 现在需要一个唯一的 id 属性。
有关更多信息,请参阅 关联发布者确认与返回spring-doc.cadn.net.cn

在使用直接回复地址(direct reply-to)时,现在您可以配置模板,使得服务器无需在回复中返回关联数据。RabbitMQ 直接回复地址 以获取更多信息。spring-doc.cadn.net.cn

监听器容器变更

现在新增了一个监听器容器属性 consumeDelay;当使用 RabbitMQ 分片插件 时,该属性非常有用。spring-doc.cadn.net.cn

默认的 JavaLangErrorHandler 现在调用 System.exit(99)。要恢复到之前的 behaviour(即不执行任何操作),请添加一个空操作处理器。spring-doc.cadn.net.cn

容器现在支持 globalQos 属性,以便将 prefetchCount 全局应用于通道,而非每个通道上的消费者。spring-doc.cadn.net.cn

请参阅 消息监听容器配置 以获取更多信息。spring-doc.cadn.net.cn

MessagePostProcessor 的更改

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

多代理支持改进

RepublishMessageRecoverer Changes

未提供此恢复器的新子类以支持发布者确认。消息监听器和异步情况 以获取更多信息。spring-doc.cadn.net.cn