对于最新的稳定版本,请使用 Spring AMQP 3.2.0! |
2.3 中自 2.2 以来的变化
本节介绍版本 2.2 和版本 2.3 之间的更改。 有关以前版本中的更改,请参阅更改历史记录。
连接工厂更改
现在提供了两个额外的连接工厂。 有关更多信息,请参阅选择连接工厂。
@RabbitListener
变化
您现在可以指定回复内容类型。 有关更多信息,请参阅 Reply ContentType 。
消息转换器更改
这Jackson2JMessageConverter
现在可以反序列化抽象类(包括接口),如果ObjectMapper
配置了自定义 deserializer。
有关更多信息,请参见Deserializing Abstract Classes。
测试更改
新注释@SpringRabbitTest
用于在您不使用SpringBootTest
.
有关更多信息,请参阅 @SpringRabbitTest。
RabbitTemplate 更改
模板的ReturnCallback
已重构为ReturnsCallback
以便在 Lambda 表达式中更简单地使用。
有关更多信息,请参阅 Correlated Publisher Confirms and Returns 。
当使用 returns 和 correlated 确认时,CorrelationData
现在需要一个唯一的id
财产。
有关更多信息,请参阅 Correlated Publisher Confirms and Returns 。
使用直接回复时,您现在可以配置模板,以便服务器不需要在回复中返回关联数据。 有关更多信息,请参阅 RabbitMQ Direct 回复。
侦听器容器更改
新的 Listener Container 属性consumeDelay
现已推出;在使用 RabbitMQ Sharding Plugin 时非常有用。
默认的JavaLangErrorHandler
现在调用System.exit(99)
.
要恢复到之前的行为(不执行任何作),请添加 no-op 处理程序。
容器现在支持globalQos
属性以应用prefetchCount
全局的 channel,而不是 channel 上的每个使用者。
有关更多信息,请参阅 Message Listener Container Configuration (消息侦听器容器配置)。
MessagePostProcessor 更改
压缩MessagePostProcessor
现在使用逗号而不是冒号来分隔多个内容编码。
解压缩器可以处理这两种格式,但是,如果您使用此版本生成的消息被 2.2.12 之前的版本使用,则应将压缩器配置为使用旧的分隔符。
有关更多信息,请参阅修改消息 - 压缩等中的重要说明。
多个 Broker 支持改进
有关更多信息,请参阅多个代理(或集群)支持。
RepublishMessageRecoverer 更改
未提供支持 publisher 确认的此 recoverer 的新子类。 有关更多信息,请参见 Message Listeners and the Asynchronous Case。