2.3 版自 2.2 版以來的變更

本節說明 2.2 版和 2.3 版之間的變更。如需先前版本的變更,請參閱變更記錄

連線 Factory 變更

現在提供兩個額外的連線 Factory。如需更多資訊,請參閱選擇連線 Factory

@RabbitListener 變更

您現在可以指定回覆內容類型。如需更多資訊,請參閱回覆 ContentType

訊息轉換器變更

如果 ObjectMapper 配置了自訂 deserializer,則 Jackson2JMessageConverter s 現在可以反序列化抽象類別 (包括介面)。如需更多資訊,請參閱反序列化抽象類別

測試變更

提供新的註解 @SpringRabbitTest,以便在您未使用 SpringBootTest 時自動設定一些基礎結構 bean。如需更多資訊,請參閱@SpringRabbitTest

RabbitTemplate 變更

範本的 ReturnCallback 已重構為 ReturnsCallback,以便在 lambda 運算式中更輕鬆地使用。如需更多資訊,請參閱相關的發佈者確認和退回

當使用退回和相關的確認時,CorrelationData 現在需要唯一的 id 屬性。如需更多資訊,請參閱相關的發佈者確認和退回

當使用直接回覆至時,您現在可以設定範本,使伺服器不需要傳回帶有回覆的相關資料。如需更多資訊,請參閱RabbitMQ 直接回覆至

Listener 容器變更

現在有一個新的 Listener 容器屬性 consumeDelay 可用;當使用 RabbitMQ Sharding Plugin 時,它很有幫助。

預設的 JavaLangErrorHandler 現在會呼叫 System.exit(99)。若要恢復為先前的行為 (不執行任何動作),請新增一個 no-op handler。

容器現在支援 globalQos 屬性,以針對通道全域套用 prefetchCount,而不是針對通道上的每個消費者。

如需更多資訊,請參閱訊息 Listener 容器設定

MessagePostProcessor 變更

壓縮 MessagePostProcessor s 現在使用逗號分隔多個內容編碼,而不是冒號。解壓縮器可以處理這兩種格式,但是,如果您產生由此版本產生的訊息,且由早於 2.2.12 的版本取用,則應將壓縮器設定為使用舊的分隔符號。如需更多資訊,請參閱修改訊息 - 壓縮及更多中的重要注意事項。

多個 Broker 支援改進

如需更多資訊,請參閱多個 Broker (或叢集) 支援

RepublishMessageRecoverer 變更

不提供此 recoverer 的新子類別,該子類別支援發佈者確認。如需更多資訊,請參閱訊息 Listener 和非同步案例