文档章节

Mule的基本配置元素:Endpoint、Transformer、Filter、Flow

猪刚烈
 猪刚烈
发布于 2014/10/12 11:40
字数 703
阅读 47
收藏 0

1.Endpoint


Mule的endpoint和WS中的endpoint是非常类似的,它是消息进出(读写)的入口,不同的是mule的endpoint可以基于各种不同的传输协议。
mule的endpoint分成两类:
  •     global endpoint:全局的endpoint,一个flow或service的inbound或outbound endpoint可以通过ref属性引用这些endpoint.
  •      low或service内的inbound或outbound endpoint,这类endpoint仅限于flow或service内,可以认为是一种局部endpoint.
每一个endpoint都必须指明它的传输协议是什么,或者说它是什么传输类型的endpoint,指定方式有两种:
  •      在<endpoint/>元素上追加传输协议前缀:
<http:endpoint name="in" host="localhost" port="8080" path = "services/orders" user="${user.name}" password ="${user.password}"/>

  •     通过<endpoint/>元素的address属性指定:
<endpoint addres="http://${user.name}:${user.password}@localhost:8080/services/orders/>

刚开始接触mule时对inbound和outbound的endpoint可能一时不太好区分,实际上所谓的in和out都是以mule的视角来定位的,inbound指的是外部message“流入”mule的断点,也就是mule暴露给外部应用可以访问的端点,同理,outbound就是message从mule向外“流出”的端点,也就是一个可以访问的外部应用的端点。比如一种最典型也是最普遍的WS代理配置,也就是将不同物理地址的WS统一挂接到ESB,由ESB以一致的地址发布,如:

<pattern:web-service-proxy name="weather-forecast-ws-proxy"
	inboundAddress="http://localhost:8090/weather-forecast"
	outboundAddress="http://server1:6090/weather-forecast"
	wsdlLocation="http://server1:6090/weather-forecast?wsdl" />

在这段配置中,ESB把原物理地址为:http://server1:6090/weather-forecast 的服务经过包裹,以新的地址http://localhost:8090/weather-forecast 发布出去。作为inboundAddress,http://localhost:8090/weather-forecast是ESB对外“开放”或“发布”的端点,也就是消息流入ESB的端点。outboundAddress则是ESB路由的目的地,其往往是某个现存系统的访问入口。


2.Transformer


Transformer是负责消息传输过程中的数据转换,如从JSON对象到一个Java对象的转换:

<json:json-to-object-transformer name="jsonToFruitCollection" returnClass="org.mule.module.json.transformers.FruitCollection">
<json:deserialization-mixin mixinClass="org.mule.module.json.transformers.OrangeMixin" targetClass="org.mule.tck.testmodels.fruit.Orange"/>
</json:json-to-object-transformer>

3.Filter


Filter是用于配置是否要对消息进行过滤的配置项,除像wildcard-filter这样的基本Filter,Mule还有功能强大的逻辑Filter用于进行过滤条件的组合。

<or-filter>
	<wildcard-filter pattern="*priority:1*"/>
	<and-filter>
		<not-filter>
			<wildcard-filter pattern="*region:Canada*"/>
		</not-filter>
		<wildcard-filter pattern="*priority:2*"/>
	</and-filter>
</or-filter>

4.Flow


Flow是mule的最基本处理单元。它从一个inbound endpoint开始,对message进行了一系列的处理,然后从outbound endpoint输出。这期间会flow会使用到上述提及的多种组件参与处理,如transformer、filter等等,而且还可能调用java或其他语言实现的组件进行处理,应该说在应用集成里,flow所要实现的,正是所谓的“集成逻辑”。

本文转载自:http://blog.csdn.net/bluishglc/article/details/6741014

共有 人打赏支持
猪刚烈
粉丝 22
博文 708
码字总数 110
作品 1
海淀
程序员
Mule ESB 学习笔记(2)

Mule ESB中有一些基本的概念,理解这些基本概念后才能理解Mule的内部机制。从中也可以看到Mule解决问题的基本思路。 4. 基本概念 4.1 Model Model表示托管各个服务的运行时环境。 图 Model ...

丽天
2010/12/06
0
1
mule studio基础了解

前一段一直在学习mule,了解一些发现这方面资源网上较少所以把自己所学的与大家分享,我主要是看mule的官网学习知识,我会持续更新这一专题的,希望能帮助到想入门的。 Mule studio 了解概况...

-悟空-
2013/11/04
0
5
Mule ESB 学习笔记(8)

写之前的内容时,Mule刚刚3.0.1版本,很多官方文档还没有更新(尤其示例代码),维持在V2的状态。经过了一年多的时间,Mule社区版发展至了3.2版本,并且推出了Mule Studio可视化开发工具(当...

丽天
2012/02/07
0
3
mule 传递参数给webservice

@huangweibing 你好,想跟你请教个问题: 我看了你的mule传递参数给cxf的webservice.为什么我一个参数也报错?? local part cannot be "null" when creating a QName. Failed to route eve...

北京小天
2014/03/12
1K
3
Mule ESB File Connector轮询单个文件的实现(3)

本系列的(1)和(2)介绍了如何修改File Connector的轮询机制,使得File Connector每次轮询只轮询一个文件。本文主要阐述如何对前面的实现做进一步的修改,这个修改有以下两点: 1)如何自定义定义...

杨延庆
2016/08/08
54
2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

新工作与老项目

新的工作不知不觉的干了一个多月了。怎么说呢,跟想象中的差别不少,本来想的能进来跟大公司的同事能有很多交流,能在团队中跟大牛学习更快。结果公司的这个项目上只有两个程序员,项目是十年...

zypy333
17分钟前
0
0
mysql 在windows的安装

mysql 在windows的安装。 mysql64位的server的下载地址是: https://dev.mysql.com/downloads/mysql/ 使用的是5.7版本。 下载安装包,解压至D:\mysql\mysql-5.7.23-winx64\ 在D:\mysql\mysq...

lxzh504
30分钟前
1
0
云技术、大数据(hadoop)入门常见问题回答

当我们学习一门新技术的时候,我们总是产生各种各样的问题,这些问题整理出来,包括该 1.如何学习hadoop? 2.hadoop常见问题? 3.还有hbase、hive安装使用等? 你知道搭建hadoop平台需要些什...

董黎明
30分钟前
1
0
小程序自定义底部tab

场景 1.tabBar是在内页而非首页,这时就不得不自定义一个tabBar了 2.自定义风格 3.子页数量超过5个,得到更多了tab 4.改变点击tab默认事件,比如出登录界面,或者弹出上拉子菜单等 步骤 1.照...

萤火的萤火
35分钟前
1
0
shell炫技

1.为脚本添加“--help” #!/bin/shif [ ${#@} -ne 0 ] && [ "${@#"--help"}" = "" ]; then printf -- '...help...\n'; exit 0;fi; 2.输出字体添加颜色 https://misc.flogisoft.com......

HJCui
36分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部