Spring AMQP 1.4.5.RELEASE 與 1.5.0.M1 版本已發布

發布 (Releases) | Gary Russell | 2015 年 5 月 8 日 | ...

我們很高興宣布 Spring AMQP 的最新維護版本 (1.4.5.RELEASE) 現已推出。 此版本包含自 1.4.4 以來的一些錯誤修正

此外,1.5 版本的首個里程碑版本 (1.5.0.M1) 也已發布。 發布候選版本將在大約一個月後發布,GA 版本預計將於夏季稍晚推出。

此版本的主要功能如下所示

##Class-level @RabbitListener

現在可以在類別層級定義 @RabbitListener 註解。 結合方法層級的 @RabbitHandler 註解,這允許單一監聽器根據 payload 類型調用類別中的不同方法。 例如

@RabbitListener(queues="orders, shipments")
public class MultiListenerBean {

    @RabbitHandler
    public OrderConfirmation handleOrder(Order order) {
        ...    
    }

    @RabbitHandler
    public Invoice ship(Shipment shipment) {
        ...
    }

}

##為 @RabbitListener 自動宣告佇列和綁定 (Auto-Declare Queues and Bindings)

現在可以在使用 @RabbitListener 註解時自動宣告佇列、交換器和綁定。

@RabbitListener(bindings = @QueueBinding(
	value = @Queue(value = "auto.declare", autoDelete = "true"),
	exchange = @Exchange(value = "auto.exch", autoDelete = "true"),
	key = "auto.rk"))
public String handleWithDeclare(String foo) {
	return foo.toUpperCase();
}

在此範例中,佇列 auto.declare 已宣告並綁定至具有路由金鑰 auto.rk 的交換器 auto.exch。 交換器也會被宣告。

先前,QueueExchangeBinding 必須宣告為個別的 @Bean

##可配置的回覆交換器/路由金鑰 (Configurable Exchange/Routing Key for Replies)

先前,在使用具有 RabbitTemplate 的請求/回覆訊息傳遞時,回覆會路由至預設交換器並使用佇列名稱進行路由。 現在可以使用 reply-address(格式為 exchange/routingKey)來指定交換器和路由金鑰。

##RabbitManagementTemplate

不再提供 spring-erlang jar。 建議使用者改為使用 RabbitMQ REST API。 RabbitMQ 團隊正在開發 REST API 的 Java 綁定,而 Spring AMQP 現在使用熟悉的 QueueExchangeBinding 網域物件為該 API 提供輕量級包裝。

##結論 (Conclusion)

新功能的完整詳細資訊可在參考手冊的「新功能」章節JIRA 版本說明中找到。

鼓勵使用者在 GA 版本發布之前嘗試新功能,並使用常規管道 (Stack Overflow 上的 spring-amqp 標籤和 JIRA) 提供意見反應。

請參閱專案頁面以取得文件和下載連結。

取得 Spring 電子報 (newsletter)

隨時掌握 Spring 電子報的最新資訊

訂閱 (Subscribe)

取得支援 (Get support)

Tanzu Spring 在一個簡單的訂閱中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位檔案。

了解更多 (Learn more)

即將舉行的活動 (Upcoming events)

查看 Spring 社群中所有即將舉行的活動。

檢視全部 (View all)