2.3 版本相比 2.2 版本的變更

本節介紹 2.2 版本與 2.3 版本之間的變更。有關先前版本的變更,請參閱變更歷史

連線工廠變更

現提供兩個額外的連線工廠。有關更多資訊,請參閱選擇連線工廠

@RabbitListener 變更

現在可以指定回覆內容型別。有關更多資訊,請參閱回覆內容型別

訊息轉換器變更

如果使用自定義反序列化器配置了 ObjectMapper,則 Jackson2JMessageConverter 現在可以反序列化抽象類(包括介面)。有關更多資訊,請參閱反序列化抽象類

測試變更

提供了一個新的註解 @SpringRabbitTest,用於在不使用 SpringBootTest 時自動配置一些基礎設施 Bean。有關更多資訊,請參閱@SpringRabbitTest

RabbitTemplate 變更

模板的 ReturnCallback 已重構為 ReturnsCallback,以便在 lambda 表示式中更簡單地使用。有關更多資訊,請參閱關聯的釋出者確認和返回

使用返回和關聯確認時,CorrelationData 現在需要一個唯一的 id 屬性。有關更多資訊,請參閱關聯的釋出者確認和返回

使用 direct reply-to 時,現在可以配置模板,使得伺服器無需在回覆中返回關聯資料。有關更多資訊,請參閱RabbitMQ Direct reply-to

監聽器容器變更

現提供一個新的監聽器容器屬性 consumeDelay;這在使用 RabbitMQ Sharding Plugin 時很有幫助。

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

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

有關更多資訊,請參閱訊息監聽器容器配置

MessagePostProcessor 變更

壓縮用的 MessagePostProcessor 現在使用逗號分隔多個內容編碼,而不是冒號。解壓器可以處理這兩種格式,但如果你使用此版本生成訊息,而這些訊息由 2.2.12 之前的版本消費,則應將壓縮器配置為使用舊的分隔符。有關更多資訊,請參閱修改訊息 - 壓縮等中的重要注意事項。

多 Broker 支援改進

有關更多資訊,請參閱多 Broker(或叢集)支援

RepublishMessageRecoverer 變更

現提供此恢復器的一個新子類,該子類支援釋出者確認。有關更多資訊,請參閱訊息監聽器和非同步情況