搜索

第 3 章 定义路由

download PDF

本教程介绍了在路由中添加和配置端点的步骤。端点定义源和接收器(sink),用于通过路由传输的信息。对于 ZooOrderApp 项目,启动(源)端点是包含 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 拖到 canvas 中,并将它放到 Route_route1 容器节点中。

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

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

    Properties 视图位于 canvas 下,显示节点的属性字段进行编辑。

  3. 要为消息文件指定源目录,在 Properties 视图中点 Advanced 选项卡:

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

    FileSystemCompPropsTut

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

  5. Consumer 选项卡中,点 Noop 选项来启用 Noop 选项。

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

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

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

    FileSystemCompPropsTut2
    注意

    工具前缀使用下划线(_)自动生成 ID 值。您可以选择更改 ID 值。underscore 前缀不是一个要求。

    将自动生成的 Id 保留为原样。

  7. 选择 File Save 保存路由。

配置接收器端点

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

  1. 另一个文件 组件从 PrometheusRule 的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
    注意

    这两个文件节点已连接并一致,根据路由编辑器的布局首选项设置。选择是 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.