Changes in 2.3 Since 2.2

本部分介绍了版本 2.2 和版本 2.3 之间的变更。有关以前版本中的变更,请参阅 Change History

Connection Factory Changes

现在提供了两个附加连接工厂。有关详细信息,请参见 Choosing a Connection Factory

@RabbitListener Changes

现在您可以指定回复内容类型。有关详细信息,请参阅 Reply ContentType

Message Converter Changes

如果使用自定义解串器配置了 ObjectMapper,那么 Jackson2JMessageConverter 现在能够反序列化抽象类(包括接口)。有关详细信息,请参见 Deserializing Abstract Classes

Testing Changes

提供了一个新的注释 @SpringRabbitTest 用于在你未使用 SpringBootTest 时自动配置一些基础结构 bean。更多信息,请参阅 @SpringRabbitTest

RabbitTemplate Changes

模板的 ReturnCallback 已被重构为 ReturnsCallback ,以便在 lambda 表达式中更简单地使用。更多信息,请参阅 Correlated Publisher Confirms and Returns

在使用返回确认和关联确认时, CorrelationData 现在需要一个唯一的 id 属性。更多信息,请参阅 Correlated Publisher Confirms and Returns

在使用直接回复时,你现在可以配置模板,这样服务器就不需要在答复中返回关联数据。更多信息,请参阅 RabbitMQ Direct reply-to

Listener Container Changes

现在提供了新的侦听器容器属性 consumeDelay;在使用 RabbitMQ Sharding Plugin 时它会有所帮助。

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

容器现在支持 globalQos 属性,以便针对整个通道应用 prefetchCount,而不是针对通道上的每个使用者应用。

有关详细信息,请参阅 Message Listener Container Configuration

MessagePostProcessor Changes

压缩 MessagePostProcessor 现在使用逗号来分隔多个内容编码,而不是冒号。解压缩器可以处理这两种格式,但是,如果您使用此版本生成的消息被早于 2.2.12 的版本使用,则应将压缩器配置为使用旧分隔符。有关详细信息,请参阅 Modifying Messages - Compression and More 中的重要说明。

Multiple Broker Support Improvements

有关详细信息,请参阅 Multiple Broker (or Cluster) Support

RepublishMessageRecoverer Changes

没有提供支持发布者确认的此恢复器的子类。更多信息,请参阅 Message Listeners and the Asynchronous Case