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 和非同步案例。