扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
Mule的消息路由8
与过滤路由器(filtering router)相似的路由器有转发路由器(forwarding router),它可以处理一些消息并可以选择性地将消息转发到其它路由器,还有wiretap router,这种路由器可以处理所有的消息,并将它们发送到端点上,同时也将消息的副本发送到另外一个端点。更多信息可以参看Mule用户指南中的入站路由器(Inbound Routers)。
将多个出站端点链接在一起
假设我们有一个验证服务,当消息没有通过验证时,想将该消息以及验证异常转发到另一个服务,并将消息和验证异常返回给调用者。那么可以使用链接路由器(chaining router),它是一个高速的、轻量级的可配置路由器,可用于将消息发送到端点,然后将该端点的输出结果发送到另一个端点。例如:
<chaining-router>
消息分解
<!-- 首先,将消息发送到这个端点,用于验证。 -->
<vm:outbound-endpoint path="ValidationService" synchronous="true"/>
<!-- 接着将包含表达式的消息发送到这个端点上 -->
<vm:outbound-endpoint path="ValidationError" synchronous="true">
<exception-type-filter expectedType="java.lang.Exception"/>
</vm:outbound-endpoint>
</chaining-router>
消息分解器(message splitter)可用于将输出消息(outgoing message)分解成多个部分,再将他们分发到配置在路由器(router)上的不同端点。例如,在订单处理应用中,如果想将经消息分解后的不同部分分发给不同的服务去处理,那么可以使用下面的路由器:
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者