3.0 相較 2.4 的變化

Java 17, Spring Framework 6.0

此版本需要 Spring Framework 6.0 和 Java 17

遠端處理

不再支援遠端處理功能(使用 RMI)。

觀測

現在支援使用 Micrometer 啟用計時器和跟蹤的觀測功能。有關更多資訊,請參閱 Micrometer 觀測

原生映象

提供了建立原生映象的支援。有關更多資訊,請參閱 原生映象

AsyncRabbitTemplate

AsyncRabbitTemplate 現在返回 CompletableFuture 而不是 ListenableFuture。有關更多資訊,請參閱 非同步 Rabbit 模板

流支援更改

RabbitStreamOperationsRabbitStreamTemplate 方法現在返回 CompletableFuture 而不是 ListenableFuture

現在支援超級流及其上的單個活躍消費者。

有關更多資訊,請參閱 使用 RabbitMQ 流外掛

@RabbitListener 的更改

批處理監聽器現在可以消費 Collection<?> 以及 List<?>。批處理訊息介面卡現在確保該方法適用於消費批處理。當將容器工廠的 consumerBatchEnabled 設定為 true 時,batchListener 屬性也設定為 true。有關更多資訊,請參閱 使用批處理的 @RabbitListener

MessageConverter 現在可以為 null 值返回 Optional.empty();這目前由 Jackson2JsonMessageConverter 實現。有關更多資訊,請參閱 Message 轉換

您現在可以透過容器工廠而不是透過 @RabbitListener 上的屬性來配置 ReplyPostProcessor。有關更多資訊,請參閱 回覆管理

@RabbitListener(和 @RabbitHandler)方法現在可以宣告為 Kotlin suspend 函式。有關更多資訊,請參閱 非同步 @RabbitListener 返回型別

從 3.0.5 版本開始,具有非同步返回型別(包括 Kotlin suspend 函式)的監聽器在失敗後會呼叫 RabbitListenerErrorHandler(如果已配置)。以前,錯誤處理程式僅在同步呼叫時被呼叫。

連線工廠的更改

AbstractConnectionFactory 中的預設 addressShuffleMode 現在是 RANDOM。當提供多個地址時,這會導致連線到隨機主機。有關更多資訊,請參閱 連線到叢集

LocalizedQueueConnectionFactory 不再使用 RabbitMQ http-client 庫來確定哪個節點是佇列的領導者。有關更多資訊,請參閱 佇列親和性與 LocalizedQueueConnectionFactory

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