当用于批注方法时,该方法可以返回 a 或 type。 在后一种情况下,终结点解析通道名称,就像解析默认输出通道一样。 此外,该方法可以返回单个值或集合。 如果返回集合,则回复消息将发送到多个通道。 总而言之,以下方法签名都是有效的:@RouterMessageChannelStringSpring中文文档

@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@HeaderSpring中文文档

@Router
public List<String> route(@Header("orderStatus") OrderStatus status)
有关基于 XML 的消息的路由(包括 XPath 支持),请参阅 XML 支持 - 处理 XML 有效负载
有关基于 XML 的消息的路由(包括 XPath 支持),请参阅 XML 支持 - 处理 XML 有效负载

有关路由器配置的更多信息,另请参阅 Java DSL 一章中的消息路由器Spring中文文档