1.3 版本以來相對於 1.2 版本的變更
監聽器併發性
監聽器容器現在支援基於工作負載動態調整消費者數量,或者您可以在不停止容器的情況下透過程式設計方式更改併發性。詳見 監聽器併發性。
監聽器佇列
監聽器容器現在允許在執行時修改其監聽的佇列。此外,如果至少有一個配置的佇列可用,容器現在就可以啟動。詳見 監聽器容器佇列
此監聽器容器現在在啟動期間重新宣告任何 auto-delete 佇列。詳見 auto-delete
佇列。
消費者優先順序
監聽器容器現在支援消費者引數,允許設定 x-priority
引數。詳見 消費者優先順序。
獨佔消費者
您現在可以將 SimpleMessageListenerContainer
配置為單個 exclusive
消費者,阻止其他消費者監聽佇列。詳見 獨佔消費者。
Rabbit Admin
您現在可以讓 broker 生成佇列名稱,而無論 durable
、autoDelete
和 exclusive
設定如何。詳見 配置 Broker。
Direct Exchange 繫結
此前,從 direct-exchange
配置的 binding
元素中省略 key
屬性會導致佇列或交換器以空字串作為路由鍵進行繫結。現在,它將以提供的 Queue
或 Exchange
的名稱進行繫結。如果您希望使用空字串路由鍵進行繫結,則需要指定 key=""
。
快取連線工廠
您現在可以將快取連線工廠配置為快取 Connection
例項及其 Channel
例項,而不是使用單個連線僅快取 Channel
例項。詳見 連線和資源管理。
繫結引數
<exchange
的
現在支援解析
子元素。您現在可以透過 key/value
屬性對(用於匹配單個 header)或
子元素(允許匹配多個 header)來配置
的
。這些選項是互斥的。詳見 Headers Exchange。
路由連線工廠
引入了一個新的 SimpleRoutingConnectionFactory
。它允許配置 ConnectionFactory
對映,以確定執行時使用的目標 ConnectionFactory
。詳見 路由連線工廠。
MessageBuilder
和 MessagePropertiesBuilder
現在提供了用於構建訊息或訊息屬性的“流暢 API”。詳見 Message Builder API。
RetryInterceptorBuilder
變更
現在提供了用於構建監聽器容器重試攔截器的“流暢 API”。詳見 同步操作中的故障和重試選項。
添加了 RepublishMessageRecoverer
提供了這個新的 MessageRecoverer
,用於在重試耗盡時將失敗的訊息釋出到另一個佇列(包括 header 中的堆疊跟蹤資訊)。詳見 訊息監聽器和非同步情況。
預設錯誤處理器 (自 1.3.2 版起)
監聽器容器中添加了一個預設的 ConditionalRejectingErrorHandler
。該錯誤處理器會檢測到致命的訊息轉換問題,並指示容器拒絕該訊息,以防止 broker 不斷地重新投遞不可轉換的訊息。詳見 異常處理。
監聽器容器 missingQueuesFatal
屬性 (自 1.3.5 版起)
SimpleMessageListenerContainer
現在有一個名為 missingQueuesFatal
的屬性(預設值:true
)。以前,缺少佇列總是致命的。詳見 訊息監聽器容器配置。