1.7 自 1.6 以来的变化

AMQP 客户端库

Spring AMQP 现在使用 RabbitMQ 团队提供的库的新 4.0.x 版本。 默认情况下,此客户端配置了自动恢复。 请参阅 RabbitMQ 自动连接/拓扑恢复amqp-clientspring-doc.cn

默认情况下,4.0.x 客户端启用自动恢复。 虽然与此功能兼容, Spring AMQP 有自己的恢复机制,通常不需要 Client 端恢复功能。 我们建议禁用自动恢复,以避免在代理可用但连接尚未恢复时获取实例。 从版本 1.7.1 开始, Spring AMQP 禁用它,除非你显式创建自己的 RabbitMQ 连接工厂并将其提供给. 默认情况下,由 创建的 RabbitMQ 实例也具有禁用选项。amqp-clientAutoRecoverConnectionNotCurrentlyOpenExceptionCachingConnectionFactoryConnectionFactoryRabbitConnectionFactoryBean

Log4j 2 升级

最低 Log4j 2 版本(适用于 )现在是 。 该框架不再与以前的版本兼容。 有关更多信息,请参见Logging Subsystem AMQP AppendersAmqpAppender2.7spring-doc.cn

Logback Appender

默认情况下,此 appender 不再捕获调用者数据(方法、行号)。 您可以通过设置配置选项来重新启用它。 有关可用日志附加程序的信息,请参见Logging Subsystem AMQP AppendersincludeCallerDataspring-doc.cn

Spring 重试升级

最低 Spring Retry 版本现在是。 该框架不再与以前的版本兼容。1.2spring-doc.cn

关闭行为

您现在可以设置为 ,如果容器线程没有响应 内的关闭,则强制关闭通道, 导致任何未确认的消息重新排队。 有关更多信息,请参阅 Message Listener Container Configuration (消息侦听器容器配置)。forceCloseChanneltrueshutdownTimeoutspring-doc.cn

FasterXML Jackson 升级

现在,最低 Jackson 版本为 。 该框架不再与以前的版本兼容。2.8spring-doc.cn

JUnit@Rules

以前由框架内部使用的规则现在已在名为 . 有关更多信息,请参阅 JUnit4 @Rulesspring-rabbit-junitspring-doc.cn

容器条件回滚

当您使用外部事务管理器(例如 JDBC)时,当您为容器提供事务属性时,现在支持基于规则的回滚。 现在,当您使用交易通知时,它也更加灵活。spring-doc.cn

连接命名策略

现在提供了一个 new 版本,用于填充来自 . 有关更多信息,请参阅连接和资源管理ConnectionNameStrategyAbstractConnectionFactoryspring-doc.cn

侦听器容器更改

事务回滚行为

现在,您可以将事务回滚时的消息重新排队配置为一致,无论是否配置了事务管理器。 有关更多信息,请参阅 回滚已接收消息的说明spring-doc.cn