新增功能

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.