跳到主要内容

使用注解配置路由器

QWen Plus 中英对照 Configuring a Router with Annotations

当使用 @Router 注解方法时,该方法可以返回 MessageChannelString 类型。在后一种情况下,端点解析通道名称的方式与默认输出通道相同。此外,该方法可以返回单个值或集合。如果返回集合,则回复消息将发送到多个通道。概括来说,以下方法签名都是有效的:

@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) {...}
java

除了基于有效负载的路由外,消息还可以根据消息头中可用的元数据(作为属性或特征)进行路由。在这种情况下,带有 @Router 注解的方法可以包含一个带有 @Header 注解的参数,该参数映射到一个头值,如下例所示,并在 注解支持 中有文档说明:

@Router
public List<String> route(@Header("orderStatus") OrderStatus status)
java
备注

对于基于 XML 的消息路由,包括 XPath 支持,请参阅 XML 支持 - 处理 XML 负载

另请参阅 Java DSL 章节中的 消息路由器 ,以了解更多关于路由器配置的信息。