第 2 章 设置您的环境
本教程介绍了创建 Fuse 集成项目的过程。该项目包含初始路由和默认的 CamelContext。路由是消息传输的处理器链。CamelContext 是一个单一路由规则基础,用于定义配置路由的上下文,并在端点(消息源和目标)之间消息交换过程中使用的策略。
您必须先完成本教程,然后才能遵循任何其他教程。
目标
在本教程中,您将完成以下任务:
- 创建 Fuse 集成项目
- 为您的项目下载测试消息(XML 文件)
- 查看测试信息
开始前
在设置 Fuse 集成项目前,您必须使用 Fuse 工具安装 Red Hat CodeReady Studio。有关如何安装 CodeReady Studio 的信息,请访问红帽客户门户 以获取您的平台安装指南。
在遵循 第 10 章 将项目发布到红帽 Fuse 指南中的步骤前,您必须安装 Java 8。
创建 Fuse 集成项目
打开 Red Hat CodeReady Studio。
首次启动 CodeReady Studio 时,它会在 JBoss 透视图中打开:
否则,它会在之前 CodeReady Studio 会话中使用的视角中打开。
在菜单中,选择 File
New Fuse Integration Project 以打开 New Fuse Integration Project 向导: 在 Project Name 字段中,输入
ZooOrderApp
。保留 Use default 工作区位置 选项被选择。
点 Next 以打开 Select a Target Runtime 页面:
- 为部署平台选择独立。
选择 Karaf/Fuse on Karaf 并接受为运行时 选择的 None。
注意您稍后会在 第 10 章 将项目发布到红帽 Fuse 指南中添加运行时。
接受默认的 Apache Camel 版本。
点 Next 以打开 Advanced Project Setup 页面,然后选择 Empty - Blueprint DSL 模板:
点 Finish。
Fuse 工具开始从 Maven 存储库下载 - 所有需要构建项目的文件,然后将新项目添加到 Project Explorer 视图。
如果 CodeReady Studio 尚未显示 Fuse Integration 视角,它会询问您现在是否要切换到它:
单击 Yes 。
新的 ZooOrderApp 项目在 Fuse Integration 视角中打开:
ZooOrderApp 项目包含创建和运行路由所需的所有文件,包括:
ZooOrderApp/pom.xml
HEKETI-wagonA Maven 项目文件。-
ZooOrderApp/src/main/resources/OSGI-INF/blueprint/blueprint.xml
wagon-wagonA Blueprint XML 文件,其中包含 Camel 路由上下文和一个初始空路由。
要查看初始路由上下文,请在 Editor 视图中打开
blueprint.xml
文件,然后点 Source 选项卡。
设置组件标签以显示 ID 值
为确保在 Design canvas 上的模式和组件的标签与工具 Tutorials 中显示的标签相同:
打开 Editor 首选项页面:
-
在 Linux 和 Windows 机器上,选择 Windows
Preferences Fuse Tooling Editor。 -
在 OS X 上,选择 CodeReady Studio
Preferences Fuse Tooling Editor。
-
在 Linux 和 Windows 机器上,选择 Windows
检查 所有组件标签的 Use ID 值。
- 单击应用并关闭。
下载项目的测试消息
提供了 XML 消息文件示例,以便您可以在使用工具 Tutorials 时测试 ZooOrderApp 项目。消息包含 zoo animals 的顺序信息。例如,为 Chicago zoo 的顺序是五个 wombats。
将提供的测试信息(XML 文件)下载到项目中:
在 CodeReady Studio Project Explorer 视图中,创建一个文件夹来包含测试消息:
-
右键单击
ZooOrderApp/src
文件夹,然后选择 NewFolder。New Folder 向导将打开。 -
对于 文件夹名称,请键入
data
。 - 点 Finish。
-
右键单击
点击此处 打开 Web 浏览器,进入提供的工具工具 Tutorial 资源
Fuse-tooling-tutorials-jbds-10.3.zip
文件的位置。将
Fuse-tooling-tutorials-jbds-10.3.zip
文件下载到 ZooOrderApp 项目工作区外部的便捷位置,然后将其解压缩。它包含两个文件夹,如 第 1 章 关于 Fuse 工具 Tutorials 所述。从 messages 文件夹,将六个 XML 文件复制到 ZooOrderApp 项目的
src/data
文件夹。注意您可以在 XML 文件中安全地忽略
。
查看测试信息
每个 XML 消息文件都包含来自 zoo (客户)数量的顺序。例如,'message1.xml' 文件包含来自 Brooklyn Zoo for 12 wombats 的顺序。
您可以在 Editor 视图中打开任何消息 XML 文件,以检查内容。
- 在 Project Explorer 视图中,右键单击消息文件。
- 在弹出菜单中选择 Open。
点 Source 选项卡。
XML 文件在 Editor 视图中打开。
例如,
message1.xml
文件的内容显示来自 Bronx Zoo 为 12 个 wombats 的顺序:<?xml version="1.0" encoding="UTF-8"?> <order> <customer> <name>Bronx Zoo</name> <city>Bronx NY</city> <country>USA</country> </customer> <orderline> <animal>wombat</animal> <quantity>12</quantity> </orderline> </order>
您可以在新创建的 message1.xml
文件的第一行中安全地忽略
,这建议您没有文档引用的 grammar 约束(DTD 或 XML Schema)。
下表提供了所有六个消息文件的内容概述:
msg# | <name> | <City> | <country> | <animal> | <quantity> |
---|---|---|---|---|---|
1 | Bronx Zoo | Bronx NY | 美国 | Wombat | 12 |
2 | SAN Diego Zoo | SAN Diego CA | 美国 | giraffe | 3 |
3 | SEA Life Centre | Munich | 德国 | penguin | 15 |
4 | Berlin Zoo | Berlin | 德国 | emu | 6 |
5 | Philadelphia Zoo | Philapelphia PA | 美国 | giraffe | 2 |
6 | st Louis Zoo | st Loius MO | 美国 | penguin | 10 |
后续步骤
现在,您已设置了 CodeReady Studio 项目,您可以继续使用 第 3 章 定义路由 指南来定义处理 XML 信息的路由。