新增功能
4.0 版本相较于 3.2 版本的变更
这spring-rabbitmq-client模块
新的 spring-rabbitmq-client 模块(具有相同的构件名称)已引入。
这是自 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 的相应工具。
MessageListenerContainer 变更
该 SimpleMessageListenerContainer 现在最多等待来自所提供 RabbitTemplate 监听器的 shutdownTimeout 个待处理回复,直到其关闭。
迁移至 Spring 核心重试
Spring 重试 API 以及在项目中的使用已被 spring-core 模块中的类似 API 取代。 相应的 org.springframework.retry:spring-retry 依赖项已被删除。 这是一个破坏性更改,但考虑到整个 Spring 产品组合当前的新 major 代而言,这是合理的。 请参阅新的便捷类: StatelessRetryOperationsInterceptor 和 StatefulRetryOperationsInterceptor。 为了使 SendRetryContextAccessor 失败地址可以从 ReplyFailureException 抛出中获得,在 replyTo 中使用了 MessageRecoverer 合约。 请参阅 MessageRecoverer。