1.7 相較 1.6 的變化

AMQP 客戶端庫

Spring AMQP 現在使用 RabbitMQ 團隊提供的 amqp-client 庫的 4.0.x 版本。此客戶端預設配置了自動恢復。請參閱 RabbitMQ 自動連線/拓撲恢復

4.0.x 客戶端預設啟用自動恢復。儘管與此功能相容,Spring AMQP 擁有自己的恢復機制,通常不需要客戶端恢復功能。我們建議停用 amqp-client 自動恢復,以避免在代理可用但連線尚未恢復時出現 AutoRecoverConnectionNotCurrentlyOpenException 例項。從 1.7.1 版本開始,Spring AMQP 預設停用此功能,除非您明確建立自己的 RabbitMQ 連線工廠並將其提供給 CachingConnectionFactory。透過 RabbitConnectionFactoryBean 建立的 RabbitMQ ConnectionFactory 例項也預設停用了該選項。

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 內沒有響應關閉請求,通道將被強制關閉,導致任何未確認的訊息重新排隊。有關更多資訊,請參閱 訊息監聽器容器配置

FasterXML Jackson 升級

Jackson 的最低版本現在是 2.8。該框架不再與以前的版本相容。

JUnit @Rules

以前在框架內部使用的規則現在已在名為 spring-rabbit-junit 的單獨 jar 中提供。有關更多資訊,請參閱 JUnit4 @Rules

容器條件回滾

當您使用外部事務管理器(例如 JDBC)時,如果為容器提供了事務屬性,則現在支援基於規則的回滾。當您使用事務建議時,它現在也更加靈活。

連線命名策略

現在提供了一個新的 ConnectionNameStrategy,用於從 AbstractConnectionFactory 填充目標 RabbitMQ 連線的特定於應用程式的標識。有關更多資訊,請參閱 連線和資源管理

偵聽器容器的更改

事務回滾行為

您現在可以配置事務回滾時訊息的重新排隊,使其保持一致,無論是否配置了事務管理器。有關更多資訊,請參閱 關於接收訊息回滾的說明

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