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