对于最新稳定版本,请使用Spring AMQP 4.0.0spring-doc.cadn.net.cn

2.2版本自2.1版本以来的变化

本节描述了2.1版与2.2版之间的变更。spring-doc.cadn.net.cn

包装变更

以下类别/接口已从org.springframework.amqp.rabbit.core.supportorg.springframework.amqp.rabbit.batch:spring-doc.cadn.net.cn

另外ListenerExecutionFailedException已从中迁移org.springframework.amqp.rabbit.listener.exceptionorg.springframework.amqp.rabbit.support.spring-doc.cadn.net.cn

依赖变更

JUnit(4)现在是一个可选依赖,不再作为传递依赖出现。spring-doc.cadn.net.cn

春兔朱尼特模块现在是编译依赖春兔测试模块提供更好的目标应用开发体验,即使只有一个春兔测试我们拥有AMQP组件的完整测试工具栈。spring-doc.cadn.net.cn

[[-破坏API-changes]] == “破坏”API 变更spring-doc.cadn.net.cn

JUnit(5)RabbitAvailableCondition.getBrokerRunning()现在返回BrokerRunningSupport实例而非经纪运行,这取决于JUnit 4。 它有相同的 API,所以只需更改任何引用的类名即可。 更多信息请参见JUnit5条件spring-doc.cadn.net.cn

听者容器变更

带有致命异常的消息现在默认会被拒绝且不会重新排队,即使确认模式是手动的。 更多信息请参见例外处理spring-doc.cadn.net.cn

现在可以用Micrometer监测听众表现定时器s. 更多信息请参见监听者表现监控spring-doc.cadn.net.cn

@RabbitListener变更

你现在可以配置一个执行者在每个监听器上,覆盖出厂配置,以便更容易识别与监听器相关的线程。 你现在可以覆盖集装箱工厂的承认模式带有注释的性质ack模式财产。 更多信息请参见覆盖容器工厂属性spring-doc.cadn.net.cn

使用批处理时,@RabbitListener方法现在可以在一次调用中接收完整的一批消息,而不必一次接收一条消息。spring-doc.cadn.net.cn

当一次收到一个批处理的消息时,最后一条消息具有isLastInBatch消息属性设置为 true。spring-doc.cadn.net.cn

此外,收到的批处理消息现在包含amqp_batchSize页眉。spring-doc.cadn.net.cn

监听者还可以使用在SimpleMessageListenerContainer,即使批次并非由生产者创建。 更多信息请参见“选择容器”。spring-doc.cadn.net.cn

Spring 数据投影接口现由以下设备支持Jackson2JsonMessageConverter. 更多信息请参见使用春季数据投影接口spring-doc.cadn.net.cn

Jackson2JsonMessageConverter现在假设内容是 JSON 如果没有内容类型属性,或者它是默认的(应用/八元组字符串). 看从一个消息更多信息请见。spring-doc.cadn.net.cn

同样地。这Jackson2Xml消息转换器现在假设内容是 XML,如果没有内容类型属性,或者它是默认的(应用/八元组字符串). 看Jackson2Xml消息转换器更多信息请见。spring-doc.cadn.net.cn

@RabbitListener方法返回结果,豆子和方法现在可以在回复消息属性中查看。 这允许配置beforeSendReplyMessagePostProcessor例如,在回复中设置一个头部,指示服务器调用了哪种方法。 更多信息请参见回复管理spring-doc.cadn.net.cn

你现在可以配置回复后处理器在回复消息发送前对其进行修改。 更多信息请参见回复管理spring-doc.cadn.net.cn

AMQP 日志附加符变更

Log4J 和 LogbackAmqpAppenders 现在支持 averifyHostnameSSL 选项。spring-doc.cadn.net.cn

此外,这些附加程序现在可以配置为不添加MDC条目作为头部。 这addMdcAsHeaders已经引入了布尔选项来配置此类行为。spring-doc.cadn.net.cn

附加部分现在支持SaslConfig财产。spring-doc.cadn.net.cn

MessageListenerAdapter 变更

MessageListener适配器现在提供了新的buildListenerArguments(对象、通道、消息)构建参数数组以传递给目标监听器的方法,旧参数已被弃用。 看MessageListener适配器更多信息请见。spring-doc.cadn.net.cn

[[交换/队列声明-更改]] == 交换/队列声明变更spring-doc.cadn.net.cn

交换构建器队列构建器用于创建的流流 API交换队列用于声明的对象兔子管理员现在支持“众所周知”的论点。 更多信息请参见构建器API中的队列和交换spring-doc.cadn.net.cn

兔子管理员拥有一个新房产仅限明确声明. 更多信息请参见有条件声明spring-doc.cadn.net.cn

连接工厂变更

缓存连接工厂拥有一个新房产洗牌地址. 在提供经纪节点地址列表时,创建连接前会先洗牌,使连接尝试顺序为随机。 更多信息请参见“连接集群”。spring-doc.cadn.net.cn

使用Publisher确认和返回时,回调现在会在连接工厂中调用执行者. 这样可以避免在AMQP-客户端如果你在回调内部执行兔子作,库。 更多信息请参见相关出版商确认与回报spring-doc.cadn.net.cn

此外,发布商确认类型现在通过以下方式指定确认类型用enum代替两种互斥的设置方法。spring-doc.cadn.net.cn

兔子连接工厂豆现在启用SSL时默认使用TLS 1.2。 看兔子连接工厂豆以及配置SSL更多信息请见。spring-doc.cadn.net.cn

新的MessagePostProcessor类

去键后处理器膨胀后处理器分别是为了支持压缩和解压而添加的,当消息内容编码设置为紧缩.spring-doc.cadn.net.cn

其他变动

可申报者Object(用于声明多个队列、交换、绑定)现在为每种类型都配备了过滤的获取器。 更多信息请参见“声明交换、队列和绑定的集合”。spring-doc.cadn.net.cn

现在你可以自定义每个角色可宣告比恩在兔子管理员处理其声明。 更多信息请参见“交换、队列和绑定的自动声明”。spring-doc.cadn.net.cn

singleActiveConsumer()已被添加到队列构建器以设置x-单一-主动-消费者队列论证。 更多信息请参见构建器API中的队列和交换spring-doc.cadn.net.cn

带有类型值的出站头部班级是<?>现在用getName()而不是toString(). 更多信息请参见消息属性转换器spring-doc.cadn.net.cn

现在支持恢复失败的生产者创建批次。 更多信息请参见“用批量监听器重试”。spring-doc.cadn.net.cn