新增功能

4.0 版本自 3.2 版本以来的变化

Spring Framework 7.0

此版本需要 Spring Framework 7.0。

空安全

与许多其他 Spring 组合项目一样,Spring AMQP 已迁移到 JSpecify 注解来声明 API 的空性。使用 NullAway Gradle 插件检查空安全声明的一致性。

spring-rabbitmq-client 模块

引入了新的 spring-rabbitmq-client 模块(具有相同的 artifact 名称)。自 4.0 起,它是 RabbitMQ 特有的 AMQP 1.0 协议实现,并基于 com.rabbitmq.client:amqp-client 库。

有关更多信息,请参阅 RabbitMQ AMQP 1.0 支持

JUnit 4 工具的弃用

最新的 JUnit 4 版本是 2021 年 2 月的 4.13.2,下一个 JUnit 6 将基于 Java 17。无需保留过时的工具,建议迁移到 JUnit Jupiter 的相应工具。

Jackson 3 支持

Jackson 2 已在整个 Spring 组合中被弃用。已引入相应的新类以支持 Jackson 3。

有关更多信息,请参阅 消息转换器

MessageListenerContainer 更改

SimpleMessageListenerContainer 现在在其关闭时最多等待 shutdownTimeout 时间,以获取来自所提供的 RabbitTemplate 监听器的待处理回复。

迁移到 Spring Core Retry

项目中 Spring Retry API 及其用法已替换为 spring-core 模块中类似的 API。相应的 org.springframework.retry:spring-retry 依赖项已移除。这是一个重大更改,但对于当前新一代的整个 Spring 组合来说是合理的。请参阅新的便捷类:StatelessRetryOperationsInterceptorStatefulRetryOperationsInterceptorSendRetryContextAccessor 已移除,取而代之的是 MessageRecoverer 契约。失败的 replyTo 地址可以从重试耗尽后传播到上述 MessageRecovererReplyFailureException 中获取。

© . This site is unofficial and not affiliated with VMware.