|
此版本仍在开发中,目前尚不稳定。如需最新稳定版本,请使用 Spring AMQP 4.0.2! |
2.3 版本相较于 2.2 版本的变更
本节描述了版本 2.2 和版本 2.3 之间的变更。变更历史 中列出了之前版本的变更。
连接工厂变更
现在提供了两个额外的连接工厂。有关更多信息,请参阅 选择连接工厂。
@RabbitListener变更
现在您可以指定回复内容类型。回复内容类型以获取更多信息。
消息转换器变更
现在,Jackson2JMessageConverter 可以反序列化抽象类(包括接口),前提是将 ObjectMapper 配置为使用自定义反序列化器。更多关于反序列化抽象类的信息。
测试更改
提供了一个新的注解 @SpringRabbitTest,用于在您不使用 SpringBootTest 时自动配置一些基础设施 Bean。有关更多信息,请参阅 @SpringRabbitTest。
RabbitTemplate 变更
模板的 ReturnCallback 已重构为 ReturnsCallback,以便在 Lambda 表达式中更简单地使用。相关发布者确认与返回 以获取更多信息。
在使用返回和关联确认时,CorrelationData 现在需要一个唯一的 id 属性。
有关更多信息,请参阅 关联发布者确认与返回。
在使用直接回复地址(direct reply-to)时,现在您可以配置模板,使得服务器无需在回复中返回关联数据。RabbitMQ 直接回复地址 以获取更多信息。
监听器容器变更
现在新增了一个监听器容器属性 consumeDelay;当使用 RabbitMQ 分片插件 时,该属性非常有用。
默认的 JavaLangErrorHandler 现在调用 System.exit(99)。要恢复到之前的 behaviour(即不执行任何操作),请添加一个空操作处理器。
容器现在支持 globalQos 属性,以便将 prefetchCount 全局应用于通道,而非每个通道上的消费者。
请参阅 消息监听容器配置 以获取更多信息。
MessagePostProcessor 的更改
压缩的 MessagePostProcessor 现在使用逗号分隔多个内容编码,而不是使用冒号。
解压缩器可以处理这两种格式,但如果您使用此版本生成的消息被早于 2.2.12 的版本消费,则应配置压缩器以使用旧的分隔符。
有关更多信息,请参阅 修改消息 - 压缩及其他 中的重要说明。
多代理支持改进
参见 多代理(或集群)支持 以获取更多信息。
RepublishMessageRecoverer Changes
未提供此恢复器的新子类以支持发布者确认。消息监听器和异步情况 以获取更多信息。