2.3 相较于 2.2 的变更

本节描述了 2.2 版和 2.3 版之间的更改。有关先前版本中的更改,请参阅变更历史

连接工厂更改

现在提供了两个额外的连接工厂。有关更多信息,请参阅选择连接工厂

@RabbitListener 更改

您现在可以指定回复内容类型。有关更多信息,请参阅回复内容类型

消息转换器更改

如果 `ObjectMapper` 配置了自定义反序列化器,则 `Jackson2JMessageConverter` 现在可以反序列化抽象类(包括接口)。有关更多信息,请参阅反序列化抽象类

测试更改

提供了一个新的注解 `@SpringRabbitTest`,用于在不使用 `SpringBootTest` 时自动配置一些基础结构 Bean。有关更多信息,请参阅@SpringRabbitTest

RabbitTemplate 更改

模板的 `ReturnCallback` 已重构为 `ReturnsCallback`,以便在 lambda 表达式中更简单地使用。有关更多信息,请参阅相关发布者确认和返回

使用返回和相关确认时,`CorrelationData` 现在需要一个唯一的 `id` 属性。有关更多信息,请参阅相关发布者确认和返回

使用直接回复时,您现在可以配置模板,以便服务器不需要使用回复返回相关数据。有关更多信息,请参阅RabbitMQ 直接回复

监听器容器更改

现在可以使用新的监听器容器属性 `consumeDelay`;在使用RabbitMQ 分片插件时,这很有用。

默认的 `JavaLangErrorHandler` 现在调用 `System.exit(99)`。要恢复到之前的行为(不执行任何操作),请添加一个空操作处理程序。

容器现在支持 `globalQos` 属性,以便全局应用 `prefetchCount` 到通道,而不是应用到通道上的每个消费者。

有关更多信息,请参阅消息监听器容器配置

MessagePostProcessor 更改

压缩 `MessagePostProcessor` 现在使用逗号而不是冒号来分隔多个内容编码。解压缩器可以处理这两种格式,但是,如果您使用此版本生成由 2.2.12 之前的版本使用的消息,则应将压缩器配置为使用旧分隔符。有关更多信息,请参阅修改消息 - 压缩及更多中的重要说明。

多代理支持改进

有关更多信息,请参阅多代理(或集群)支持

RepublishMessageRecoverer 更改

现在不提供此恢复器的新的子类,该子类支持发布者确认。有关更多信息,请参阅消息监听器和异步情况