2.3 版本相比 2.2 版本的变更
本节介绍 2.2 版本与 2.3 版本之间的变更。有关先前版本的变更,请参阅变更历史。
连接工厂变更
现提供两个额外的连接工厂。有关更多信息,请参阅选择连接工厂。
@RabbitListener
变更
现在可以指定回复内容类型。有关更多信息,请参阅回复内容类型。
消息转换器变更
如果使用自定义反序列化器配置了 ObjectMapper
,则 Jackson2JMessageConverter
现在可以反序列化抽象类(包括接口)。有关更多信息,请参阅反序列化抽象类。
测试变更
提供了一个新的注解 @SpringRabbitTest
,用于在不使用 SpringBootTest
时自动配置一些基础设施 Bean。有关更多信息,请参阅@SpringRabbitTest。
RabbitTemplate 变更
模板的 ReturnCallback
已重构为 ReturnsCallback
,以便在 lambda 表达式中更简单地使用。有关更多信息,请参阅关联的发布者确认和返回。
使用返回和关联确认时,CorrelationData
现在需要一个唯一的 id
属性。有关更多信息,请参阅关联的发布者确认和返回。
使用 direct reply-to 时,现在可以配置模板,使得服务器无需在回复中返回关联数据。有关更多信息,请参阅RabbitMQ Direct reply-to。
监听器容器变更
现提供一个新的监听器容器属性 consumeDelay
;这在使用 RabbitMQ Sharding Plugin 时很有帮助。
默认的 JavaLangErrorHandler
现在会调用 System.exit(99)
。要恢复之前的行为(不执行任何操作),请添加一个 no-op handler。
容器现在支持 globalQos
属性,以便在通道上全局应用 prefetchCount
,而不是为通道上的每个消费者应用。
有关更多信息,请参阅消息监听器容器配置。
MessagePostProcessor 变更
压缩用的 MessagePostProcessor
现在使用逗号分隔多个内容编码,而不是冒号。解压器可以处理这两种格式,但如果你使用此版本生成消息,而这些消息由 2.2.12 之前的版本消费,则应将压缩器配置为使用旧的分隔符。有关更多信息,请参阅修改消息 - 压缩等中的重要注意事项。
多 Broker 支持改进
有关更多信息,请参阅多 Broker(或集群)支持。
RepublishMessageRecoverer 变更
现提供此恢复器的一个新子类,该子类支持发布者确认。有关更多信息,请参阅消息监听器和异步情况。