第 3 章 定义路由


本教程介绍了向路由中添加和配置端点的步骤。端点为通过路由传输的信息定义源和接收器。对于 ZooOrderApp 项目,start (source)端点是包含 XML 消息文件的文件夹。sink (finishing)端点是您在项目中指定的另一个文件夹。

目标

在本教程中,您将完成以下任务:

  • 在路由中添加源和接收器端点
  • 配置端点
  • 连接端点

开始前

开始此教程前:

  1. 您必须设置工作区环境,如 第 2 章 设置您的环境 指南所述。
  2. 在 CodeReady Studio 中,在 Editor 视图中打开 ZooOrderApp 项目的 /src/main/resources/OSGI-INF/blueprint/blueprint.xml 文件。
  3. 如果需要,请单击 Editor 视图底部的 Design 选项卡,以查看标记为 Route_route1 的初始路由的图形显示。

配置源端点

按照以下步骤将 src/data 文件夹配置为路由的源端点:

  1. 将文件组件 File icon 从面板的Components drawer 拖到 canvas,并将它放到 Route_route1 容器节点上。

    File 组件会更改为 Route _route1 容器节点内的来自 _from 1 节点。

  2. 在 canvas 上,选择 From _from1 节点。

    Properties 视图(位于 canvas 下)显示节点用于编辑的属性字段。

  3. 要指定消息文件的源目录,在 Properties 视图中点 Advanced 标签页:

    FileSysCompProps1Tut
  4. Directory Name 字段中,输入 src/data

    FileSystemCompPropsTut

    路径 src/data 相对于项目的目录。

  5. Consumer 选项卡中,点 Noop 选项启用其复选框。

    Noop 选项可防止 消息#.xml 文件从 src/data 文件夹中删除,它会启用 idempotency 以确保每个 消息#.xml 文件只消耗一次。

  6. 选择 Details 选项卡以打开文件节点的 Details 页面。

    请注意,工具会自动将 Uri 字段填充您在 Advanced 选项卡上配置的 Directory NameNoop 属性。它还使用自动生成的 ID (_from1)填充 Id 字段:

    FileSystemCompPropsTut2
    注意

    工具使用下划线(_)前缀自动生成的 ID 值。您可以选择更改 ID 值。下划线前缀不是必需的。

    将自动生成的 Id 保留为。

  7. 选择 File Save 以保存路由。

配置 sink 端点

添加并配置路由的 sink (target)端点:

  1. 面板的 Components drawer 中拖动另一个文件组件,并将它放到 Route_route1 容器节点上。

    File 组件会更改为 Route_route1 容器节点内的 To_to1 节点。

  2. 在 canvas 上,选择 To_to1 节点。

    Properties 视图(位于 canvas 下)显示节点用于编辑的属性字段。

  3. Details 标签页中:

    1. Uri 字段中,键入 file:target/messages/received
    2. Id 字段中,键入 _Received

      FilesysTargetCompPropsTut
      注意

      这些工具将在运行时创建 target/messages/received 文件夹。

  4. Route_route1 容器中,选择 From _from1 节点,并将其连接器箭头( connector arrow icon )拖到 To_Received 节点,然后释放它:

    CompletedRoute1
    注意

    根据路由编辑器的布局方向首选项设置,这两个文件节点已连接并在 canvas 上保持一致。选择为 Down (默认)和 Right

    访问路由编辑器的布局首选项选项:

    • 在 Linux 和 Windows 机器上,选择 Windows Preferences Fuse Tooling Editor 选择图形编辑器的布局方向
    • 在 OS X 上,选择 CodeReady Studio Preferences Fuse Tooling Editor 选择图表编辑器的布局方向
    注意

    如果在关闭项目前没有连接节点,工具会在重新打开时自动连接它们。

  5. 保存 路由。
  6. 点击 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 章 运行路由 教程所述。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.