2.3 相較 2.2 的變化
本節描述了 2.2 版本和 2.3 版本之間的變化。有關以前版本的更改,請參閱 更改歷史。
連線工廠的更改
現在提供了兩個額外的連線工廠。有關更多資訊,請參閱 選擇連線工廠。
@RabbitListener 的更改
您現在可以指定回覆內容型別。有關更多資訊,請參閱 回覆內容型別。
訊息轉換器的更改
如果 ObjectMapper 配置了自定義反序列化器,Jackson2JsonMessageConverter 現在可以反序列化抽象類(包括介面)。有關更多資訊,請參閱 反序列化抽象類。
測試的更改
提供了一個新的註解 @SpringRabbitTest,用於在您不使用 SpringBootTest 時自動配置一些基礎設施 bean。有關更多資訊,請參閱 @SpringRabbitTest。
RabbitTemplate 的更改
模板的 ReturnCallback 已重構為 ReturnsCallback,以便在 lambda 表示式中更簡單地使用。有關更多資訊,請參閱 關聯釋出者確認和返回。
當使用返回和關聯確認時,CorrelationData 現在需要一個唯一的 id 屬性。有關更多資訊,請參閱 關聯釋出者確認和返回。
當使用直接回復時,您現在可以配置模板,使伺服器無需在回覆中返回關聯資料。有關更多資訊,請參閱 RabbitMQ 直接回復。
偵聽器容器的更改
現在提供了一個新的偵聽器容器屬性 consumeDelay;它在使用 RabbitMQ 分片外掛 時很有用。
預設的 JavaLangErrorHandler 現在呼叫 System.exit(99)。要恢復到以前的行為(不執行任何操作),請新增一個無操作處理程式。
容器現在支援 globalQos 屬性,以將 prefetchCount 全域性應用於通道,而不是應用於通道上的每個消費者。
有關更多資訊,請參閱 訊息偵聽器容器配置。
MessagePostProcessor 的更改
壓縮 MessagePostProcessor 現在使用逗號而不是冒號來分隔多個內容編碼。解壓縮器可以處理兩種格式,但如果您使用此版本生成的訊息由早於 2.2.12 的版本消費,則應配置壓縮器以使用舊的分隔符。有關更多資訊,請參閱 修改訊息 - 壓縮及更多 中的重要注意事項。
多代理支援改進
有關更多資訊,請參閱 多代理(或叢集)支援。
RepublishMessageRecoverer 的更改
此恢復器現在提供了一個新的子類,支援釋出者確認。有關更多資訊,請參閱 訊息偵聽器和非同步情況。