使用註解配置路由器

當使用 @Router 註解方法時,該方法可以返回 MessageChannel 型別或 String 型別。在後一種情況下,端點會像處理預設輸出通道一樣解析通道名稱。此外,該方法可以返回單個值或集合。如果返回集合,則回覆訊息將傳送到多個通道。總而言之,以下所有方法簽名都是有效的

@Router
public MessageChannel route(Message message) {...}

@Router
public List<MessageChannel> route(Message message) {...}

@Router
public String route(Foo payload) {...}

@Router
public List<String> route(Foo payload) {...}

除了基於載荷的路由之外,訊息還可以根據訊息頭中作為屬性或特性可用的元資料進行路由。在這種情況下,使用 @Router 註解的方法可以包含一個使用 @Header 註解的引數,該引數對映到頭值,如以下示例所示,並在 註解支援 中有詳細說明

@Router
public List<String> route(@Header("orderStatus") OrderStatus status)
有關基於 XML 的訊息路由(包括 XPath 支援)的資訊,請參閱 XML 支援 - 處理 XML 載荷

另請參閱 Java DSL 章中的 訊息路由器,瞭解有關路由器配置的更多資訊。

© . This site is unofficial and not affiliated with VMware.