如需使用最新稳定版本,请使用 Spring Integration 7.0.4spring-doc.cadn.net.cn

配置路由器注解

当使用@Router注解一个方法时,该方法可以返回MessageChannelString类型。 在后一种情况下,端点会像处理默认输出通道那样解析通道名称。 此外,该方法还可以返回单个值或者集合。如果返回的是集合,则回复消息会被发送到多个通道。 总之,以下方法签名都是有效的:spring-doc.cadn.net.cn

@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注解的参数,该参数映射到头部值,如下例所示,并在Annotation Support中进行了文档说明:spring-doc.cadn.net.cn

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

消息路由器 在 Java DSL 章节中的更多关于路由配置的信息。spring-doc.cadn.net.cn