mule in action翻译22: 4.1 使用转换器

mule in action翻译22 :  4.1使用转换器

第4章 使用mule转换数据

本章概览:

1、转换器是如何运行的,以及如何使用转换器

2、mule核心类库中的常见转换器

3、xml方面的特殊转换器

4、json转换器

5、jvm脚本中的定制转换器

  

     当今的应用理解xml和json,并且使用可相互操作的数据结构,这样说对吗?如果你回答yes,那说明

你真是生活在“仙境”,并且终有一天你会明白残酷的现实。如果你像大多数开发人员一样回答no,那么你会明白为什么说数据转换是ESB的一个关键特性。

    我们离统一数据表示方式的世界还很遥远。统一化数据格式仍需极大的努力。对公共数据模型,需要国际委员会花费数年的时间,来制定其完整而复杂的标准。在大型公司,内部工作组或管理人员也试图建立通用的统一的数据表达方式。与此同时,软件集成开发人员日常工作中面临着种种的数据格式转换挑战。

    当你学习完本章,你会清晰的认识到mule是如何移开这个软件集成开发中的数据转换的绊脚石的。

 4.1使用转换器

    像图4.1展示的那样,mule的转换器行为是很简单的。图标说明,mule转换器会严格的控制它接受和输出的数据类型。类型转换使用配置就能轻松的完成;转换器接受到错误的类型后它并不会报异常,只是会把原样的消息返回。因此,要谨慎的使用配置选项。

    转换器可以以不同的方式改变消息:

1、Payload类型转换:消息payload中数据类型从一种转化为另一种,比如,一个java.util.Map转为      

     javax.jms.MapMessage

2、payload 格式转换:消息payload中数据格式从一种转换为另一种。例如从XML document  转为普通文本

    形式--以用来记录日志。也可能进行同种类型的转换,比如从不规范的xml转换为规范的xml格式。

3、属性转换:修改消息的属性,添加、删除或修改已存在的属性。例如,消息在发送到jms目的地前,需要

     设置某个特殊的属性。

图4.1  mule转换器的默认行为

 

    转换器经常是成对出现,第二个转换器可以撤销第一个转换器的更改。例如压缩和解压缩,这是payload格式转换器,这是由两个不同的转化器来处理。一个转化器能够对另一个转换器起到反向作用,这样的称之为“往返”转换器。一个转化器产生的消息,可以被它对应的“返程”转换器还原为原来的消息。

    mule有多种多样的转换器,你在工程中使用的mule可能包含的转换器:

1、mule的核心包含大量通用转换器,在4.3节讲详细的介绍一部分

2、模块也可能包含转换器,在4.4 和4.5节将分别看些和xml模块和json模块相关的转换器。

3、Transports和云连接器也可能提供转换器。

你了解了mule转换器的一些基本情况,为了在你的项目中有效的使用 转换器,现在你需要学习转换器基础

和转换器的配置。

    转换和mule的企业版:mule的企业版有个简单但强大的数据映射和转换系统:DataMapper.它提供了一个图形界面来定义消息和payload转换,当前支持 XML, JSON, CSV, POJO, Excel,和fixed-width 文件。它提供一个简单的方式来实现编程化的mule转换器和复杂的 XSLT转换。



 

猜你喜欢

转载自yangzhonglei.iteye.com/blog/2154754
今日推荐