第 3 章 定义路由
本教程介绍了向路由中添加和配置端点的步骤。端点为通过路由传输的信息定义源和接收器。对于 ZooOrderApp
项目,start (source)端点是包含 XML 消息文件的文件夹。sink (finishing)端点是您在项目中指定的另一个文件夹。
目标
在本教程中,您将完成以下任务:
- 在路由中添加源和接收器端点
- 配置端点
- 连接端点
开始前
开始此教程前:
- 您必须设置工作区环境,如 第 2 章 设置您的环境 指南所述。
-
在 CodeReady Studio 中,在 Editor 视图中打开
ZooOrderApp
项目的/src/main/resources/OSGI-INF/blueprint/blueprint.xml
文件。 -
如果需要,请单击 Editor 视图底部的 Design 选项卡,以查看标记为
Route_route1
的初始路由的图形显示。
配置源端点
按照以下步骤将 src/data
文件夹配置为路由的源端点:
将文件组件 从面板的Components drawer 拖到 canvas,并将它放到
Route_route1
容器节点上。File 组件会更改为
Route
1 节点。_route1
容器节点内的来自 _from在 canvas 上,选择
From _from1
节点。Properties 视图(位于 canvas 下)显示节点用于编辑的属性字段。
要指定消息文件的源目录,在 Properties 视图中点 Advanced 标签页:
在 Directory Name 字段中,输入
src/data
:路径
src/data
相对于项目的目录。在 Consumer 选项卡中,点 Noop 选项启用其复选框。
Noop 选项可防止
消息#.xml
文件从src/data
文件夹中删除,它会启用 idempotency 以确保每个消息#.xml
文件只消耗一次。选择 Details 选项卡以打开文件节点的 Details 页面。
请注意,工具会自动将 Uri 字段填充您在 Advanced 选项卡上配置的 Directory Name 和 Noop 属性。它还使用自动生成的 ID (
_from1
)填充 Id 字段:注意工具使用下划线(_)前缀自动生成的 ID 值。您可以选择更改 ID 值。下划线前缀不是必需的。
将自动生成的 Id 保留为。
-
选择 File
Save 以保存路由。
配置 sink 端点
添加并配置路由的 sink (target)端点:
从 面板的 Components drawer 中拖动另一个文件组件,并将它放到
Route_route1
容器节点上。File 组件会更改为
Route_route1
容器节点内的To_to1
节点。在 canvas 上,选择
To_to1
节点。Properties 视图(位于 canvas 下)显示节点用于编辑的属性字段。
在 Details 标签页中:
-
在 Uri 字段中,键入
file:target/messages/received
。 在 Id 字段中,键入
_Received
。注意这些工具将在运行时创建
target/messages/received
文件夹。
-
在 Uri 字段中,键入
在
Route_route1
容器中,选择 From _from1 节点,并将其连接器箭头( )拖到 To_Received 节点,然后释放它:注意根据路由编辑器的布局方向首选项设置,这两个文件节点已连接并在 canvas 上保持一致。选择为 Down (默认)和 Right。
访问路由编辑器的布局首选项选项:
-
在 Linux 和 Windows 机器上,选择 Windows
Preferences Fuse Tooling Editor 选择图形编辑器的布局方向。 -
在 OS X 上,选择 CodeReady Studio
Preferences Fuse Tooling Editor 选择图表编辑器的布局方向。
注意如果在关闭项目前没有连接节点,工具会在重新打开时自动连接它们。
-
在 Linux 和 Windows 机器上,选择 Windows
- 保存 路由。
点击 canvas 底部的 Source 选项卡,以显示路由的 XML:
<?xml version="1.0" encoding="UTF-8"?> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd"> <camelContext id="_context1" xmlns="http://camel.apache.org/schema/blueprint"> <route id="_route1"> <from id="_from1" uri="file:src/data?noop=true"/> <to id="_Received" uri="file:target/messages/received"/> </route> </camelContext> </blueprint>
后续步骤
现在,您已在路由中添加和配置端点,您可以运行路由,如 第 4 章 运行路由 教程所述。