1.7 自 1.6 以来的变化
AMQP 客户端库
Spring AMQP 现在使用 RabbitMQ 团队提供的库的新 4.0.x 版本。
默认情况下,此客户端配置了自动恢复。
请参阅 RabbitMQ 自动连接/拓扑恢复。amqp-client
默认情况下,4.0.x 客户端启用自动恢复。
虽然与此功能兼容, Spring AMQP 有自己的恢复机制,通常不需要 Client 端恢复功能。
我们建议禁用自动恢复,以避免在代理可用但连接尚未恢复时获取实例。
从版本 1.7.1 开始, Spring AMQP 禁用它,除非你显式创建自己的 RabbitMQ 连接工厂并将其提供给.
默认情况下,由 创建的 RabbitMQ 实例也具有禁用选项。amqp-client AutoRecoverConnectionNotCurrentlyOpenException CachingConnectionFactory ConnectionFactory RabbitConnectionFactoryBean |
Log4j 2 升级
最低 Log4j 2 版本(适用于 )现在是 。
该框架不再与以前的版本兼容。
有关更多信息,请参见Logging Subsystem AMQP Appenders。AmqpAppender
2.7
Logback Appender
默认情况下,此 appender 不再捕获调用者数据(方法、行号)。
您可以通过设置配置选项来重新启用它。
有关可用日志附加程序的信息,请参见Logging Subsystem AMQP Appenders。includeCallerData
Spring 重试升级
最低 Spring Retry 版本现在是。
该框架不再与以前的版本兼容。1.2
关闭行为
您现在可以设置为 ,如果容器线程没有响应 内的关闭,则强制关闭通道,
导致任何未确认的消息重新排队。
有关更多信息,请参阅 Message Listener Container Configuration (消息侦听器容器配置)。forceCloseChannel
true
shutdownTimeout
JUnit@Rules
以前由框架内部使用的规则现在已在名为 .
有关更多信息,请参阅 JUnit4 @Rules
。spring-rabbit-junit
连接命名策略
现在提供了一个 new 版本,用于填充来自 .
有关更多信息,请参阅连接和资源管理。ConnectionNameStrategy
AbstractConnectionFactory
侦听器容器更改
事务回滚行为
现在,您可以将事务回滚时的消息重新排队配置为一致,无论是否配置了事务管理器。 有关更多信息,请参阅 回滚已接收消息的说明 。