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