第 9 章 数据转换入门
系统和数据集成所带来的一个挑战是组件系统通常使用不同的数据格式工作。在接收系统可识别的格式(或语言)的情况下,您无法只将信息从一个系统发送到另一个系统。数据转换是针对此翻译的术语。
在本章中,您将了解如何在预定义的 Camel 路由中包含数据转换。Camel 路由将来自源端点的消息定向到使用 JSON 数据的目标端点。您可以添加并定义一个数据转换组件,将源的 XML 数据格式映射到目标的 JSON 数据格式。
9.1. 为数据转换示例创建一个项目
创建新的 Fuse 集成项目(选择 File
New Fuse Integration Project)。 在向导中提供以下信息:
- 项目名称: starter
- 部署平台: 独立
- 运行时环境:2019 年 2 月/Fuse
- Camel 版本:使用默认
- 模板: Empty - Blueprint DSL
-
从以下位置下载准备的数据示例
:https://github.com/FuseByExample/fuse-tooling-tutorials/archive/user-guide-11.1.zip
-
将
data
文件夹及其包含自user-guide-11.1.zip
归档的三个文件提取到 Fuse 集成项目的src
目录(starter/src/data
)。 - 在 Project Explorer 视图中,展开初学者项目。
-
双击 Camel Contexts
src/main/resources/OSGI-INF/blueprint/blueprint.xml
,以在路由编辑器的 Design 选项卡中打开 路由。 - 点 Source 选项卡查看底层 XML。
将
<route id="_route1"/&
gt; 替换为以下代码:<route id="_route1"> <from id="_from1" uri="file:src/data?fileName=abc-order.xml&noop=true"/> <setHeader headerName="approvalID" id="_setHeader1"> <simple>AUTO_OK</simple> </setHeader> <to id="_to1" uri="file:target/messages?fileName=xyz-order.json"/> </route>
点击 Design 选项卡返回到路由的图形显示: