領先一步
VMware 提供培訓和認證,以加速您的進度。
了解更多我們很高興宣布 Spring AMQP 2.0 的第一個里程碑版本現已發布。
以下是此版本的一些重點
該框架現在完全基於 Java 8;提供多個函數式介面,方便 Lambda 實作(callbacks, ReplyingMessageListener
等)。Java 8 現在是必要條件。 它也基於 Spring Framework 5.0。
該框架使用新的 4.0 amqp-client 函式庫。
除了現有的 SimpleMessageListenerContainer
之外,現在還提供新的 DirectMessageListenerContainer
。 新的容器實際上具有更簡單的架構,並且 listener 會直接在 amqp-client 執行緒上呼叫 (因此名稱為 Direct…
)。 請參閱選擇容器,以協助您決定哪種容器適合您的應用程式。
還提供了一個子類別 - DirectReplyToMessageLisenerContainer
- 專門用於使用 RabbitMQ Direct ReplyTo 功能進行請求/回覆訊息傳遞。 這現在由 RabbitTemplate
(預設情況下) 使用,而不是像以前那樣為每個請求/回覆建立一個 consumer。 Consumer 會被快取以供重複使用。
AsyncRabbitTemplate
現在支援 direct replyTo,利用新的容器;以前,async template 不支援 direct replyTo。
現在可以使用錯誤處理常式配置 @RabbitListener
註解,並且在使用請求/回覆訊息傳遞時,能夠將例外狀況傳送給傳送者。
連線和通道 listener 現在接收關機訊號。
您現在可以為 Spring AMQP 建立的連線指定名稱 - 該名稱會出現在 RabbitMQ 管理 UI 上。
現在可以使用有限的具狀態重試(1 次重新傳遞嘗試)(當 inbound 訊息沒有訊息 ID 時),而無需配置 MissingMessageIdAdvice
,該建議已從框架中移除。 需要 Spring Retry 1.2 才能支援此功能。
由於 log4j 已終止支援 (EOL),因此不再提供 log4j appender (log4j2 和 logback appender 仍然可用)。
請利用此機會測試這些新功能並提供回饋。 下一個里程碑將在明年初發布,GA 版本將在第一季發布。 請使用 JIRA 來投票支持 backlog 問題,或新增您希望在此主要新版本中看到的新功能請求。
請參閱專案頁面以取得下載和文件連結。
我們會監控 Stack Overflow 上的 spring-amqp 標籤,以及 Gitter 上的 spring-amqp。