|
对于最新稳定版本,请使用 Spring Integration 7.0.0! |
带注释配置路由器
使用@Router要注释方法,该方法可以返回消息频道或者字符串类型。
在后一种情况下,端点会像解析默认输出信道一样解析信道名称。
此外,该方法可以返回单个值或集合。
如果回收了集合,回复消息会发送到多个通道。
总结来说,以下方法签名均有效:
@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章节中的“消息路由器”,了解更多关于路由器配置的信息。