3.0 相較 2.4 的變化
觀測
現在支援使用 Micrometer 啟用計時器和跟蹤的觀測功能。有關更多資訊,請參閱 Micrometer 觀測。
原生映象
提供了建立原生映象的支援。有關更多資訊,請參閱 原生映象。
AsyncRabbitTemplate
AsyncRabbitTemplate 現在返回 CompletableFuture 而不是 ListenableFuture。有關更多資訊,請參閱 非同步 Rabbit 模板。 |
流支援更改
RabbitStreamOperations 和 RabbitStreamTemplate 方法現在返回 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。