Mule-ESB-用户手册第三章.doc
《Mule-ESB-用户手册第三章.doc》由会员分享,可在线阅读,更多相关《Mule-ESB-用户手册第三章.doc(6页珍藏版)》请在装配图网上搜索。
第3章 深入了解Mule ESB消息路由1、介绍消息路由总述消息路由(Message routers)用于控制消息是如何在服务间被路由的,下面将简述一些主要的概念:l Inbound routers:控制服务如何处理入站消息。l Outbound routers:控制被服务处理过的消息如何分派。l Asynchronous reply routers:用于请求/响应场景:当消息交易被一个请求触发后,该交易需要在收到响应前就结束。l Catch-all strategies:如果当前消息没有找到路由路径时,Catch-all strategies被使用。一个inbound或outbound终端和Catch-all strategies联合使用,可以使任何无目的的消息被捕获并发送到一个公共的位置。l Filters:提供了使用特定路由器的逻辑,种类有:AndFilter、OrFilter和 NotFilter。不是所有的routers都需要使用Filters,但所有的routers都支持Filters。选择一种消息类型、 异步消息类型、 请求-响应消息类型、 同步消息类型、 异步请求-响应消息类型2、高级消息路由过滤消息 你可以使用过滤器控制服务处理那个消息,Selective Consumer Router用于inbound endpoints,控制服务将处理那个消息;Filtering Router用于outbound endpoints,控制那个小心将被发送到下个终端;forwarding router允许你处理一部分消息,并且选择转发外的;wiretap router允许你处理所有的消息并且正常的发送他们,但是该router会同事发送一个COPY到另外一个终端。将Outbound Endpoints链接起来chaining router,用于发送消息到一个终端,然后发送那个终端的结果到另一个终端的路由器;chaining router还可以搭建协议桥,例如:分割消息message splitter,用于分解消息,将分解后的消息发送个不同终端。message splitter的类型主要有以下几种:、 List Message Splitter:接收一个对象列表,然后将不同对象发送到不同的终端。、 Filtering XML Message Splitter:和List Message Splitter相似,但是基于XML文档进行消息的分割和发送。、 Expression Splitter Router:和List Message Splitter相似,但是基于表达式进行消息的分割和发送。、 Round Robin Message Splitter:将消息分割,然后用一种循环算法将他们发送到终端。这种消息分割可以提高Mule ESB的性能。、 Message Chunking Router:将一个独立的消息分割成许多固定长短的消息,然后发送他们到同一个终端,到达终端后可以使用Message Chunking Aggregator将消息聚合在一起。Aggregator需要使用correlation ID,correlation ID记录了那些分解后的消息属于同一个消息。只处理一次的消息Idempotent Receiver可以通过检查消息唯一的消息ID来确保服务只接受唯一的消息。ID能够用定义在“idExpression”属性中的表达式来生成。这个表达式默认是“#message:id”。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Mule ESB 用户手册 第三
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文