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。