1.7 相对于 1.6 的变化
AMQP 客户端库
Spring AMQP 现在使用 RabbitMQ 团队提供的 amqp-client
库的 4.0.x 新版本。
此客户端默认配置了自动恢复。
请参阅 RabbitMQ 自动连接/拓扑恢复。
4.0.x 客户端默认启用自动恢复。
虽然与此功能兼容,但 Spring AMQP 有自己的恢复机制,通常不需要客户端恢复功能。
我们建议禁用 |
Log4j 2 升级
Log4j 2 的最低版本(针对 AmqpAppender
)现在是 2.7
。
该框架不再与以前的版本兼容。
有关更多信息,请参阅 日志子系统 AMQP Appender。
Logback Appender
此 appender 默认不再捕获调用方数据(方法、行号)。
您可以通过设置 includeCallerData
配置选项来重新启用它。
有关可用日志 appender 的信息,请参阅 日志子系统 AMQP Appender。
Spring Retry 升级
Spring Retry 的最低版本现在是 1.2
。
该框架不再与以前的版本兼容。
关闭行为
您现在可以将 forceCloseChannel
设置为 true
,这样,如果容器线程在 shutdownTimeout
内未响应关闭,通道将被强制关闭,
导致任何未确认的消息重新排队。
有关更多信息,请参阅 消息监听器容器配置。
JUnit @Rules
以前由框架内部使用的规则现在已在名为 spring-rabbit-junit
的单独 jar 包中提供。
有关更多信息,请参阅 JUnit4 @Rules
。
连接命名策略
现在提供了一个新的 ConnectionNameStrategy
,用于从 AbstractConnectionFactory
填充目标 RabbitMQ 连接的应用程序特定标识。
有关更多信息,请参阅 连接和资源管理。
监听器容器更改
事务回滚行为
您现在可以配置事务回滚时的消息重新排队,使其保持一致,无论是否配置了事务管理器。 有关更多信息,请参阅 关于已接收消息回滚的注意事项。