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