第 8 章 数据转换入门
与系统和数据集成相关的挑战之一是组件系统通常使用不同的数据格式。您不能简单地将信息从一个系统发送到另一个系统,而无需将其转换为接收系统可识别的格式(或语言)。数据转换是提供给此转换的术语。
在本章中,您将了解如何在预定义的 Camel 路由中包含数据转换。Camel 路由将消息从源端点定向到使用 JSON 数据的目标端点。您可以添加和定义数据转换组件,该组件将源的 XML 数据格式映射到目标的 JSON 数据格式。
8.1. 为数据转换示例创建项目
创建一个新的 Fuse Integration Project (选择 File
New Fuse Integration Project)。 在向导中提供以下信息:
- 项目名称: 初学者
- 部署平台: 独立
- 运行时环境:Na hia/Fuse on Karaf
- Camel 版本:使用默认
- 模板: Empty - Blueprint DSL
-
从以下位置下载准备的数据示例
:https://github.com/FuseByExample/fuse-tooling-tutorials/archive/user-guide-11.1.zip
-
将
data
文件夹和其包含的三个文件从user-guide-11.1.zip
存档提取到 Fuse Integration 项目的src
目录(初学者/src/data
)。 - 在 Project Explorer 视图中,展开 starter 项目。
-
双击 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 选项卡返回路由的图形显示: