9.4. 创建自定义步骤


创建 Fuse Online 扩展项目后,您将编写代码,该代码会根据 Fuse Online 用户提供给您所需功能的描述来定义自定义步骤。在单个扩展中,您可以定义多个自定义步骤,您可以使用 Camel 路由或 Java Bean 定义各个自定义步骤。

9.4.1. 为自定义步骤编写代码

创建 Fuse Online 扩展项目后,您将编写根据 Fuse Online 用户为您提供所需功能的描述来定义自定义步骤的代码。

表 9.2 “自定义步骤元素” 显示了您在 Fuse 工具中创建的自定义步骤的元素如何与 Fuse Online 中的元素对应。

Expand
表 9.2. 自定义步骤元素
Fuse 工具元素Fuse Online 元素描述

操作

自定义步骤

在 Fuse Online 中,在用户导入步骤扩展后,在 Choose a step 页面上会显示自定义步骤。

操作中定义的属性

自定义步骤配置参数

在 Fuse 中,当用户选择自定义步骤时,Fuse Online 会提示输入配置参数值。

为 Fuse Online 编写自定义步骤的代码:

  1. 对于基于 Camel 路由的 step,在 extension.xml 文件中,创建满足扩展目的的路由。每个路由的入口点必须与您在 syndesis-extension-definition.json 文件中定义的入口点匹配,如第 2 步所述。

    对于基于 Java 的 bean 步骤,请编辑 java 文件。

  2. syndesis-extension-definition.json 文件中,编写定义操作及其属性的代码。您需要每个入口点的新操作。

    您创建的每个操作都与 Fuse Online 中的自定义步骤对应。您可以为每个操作使用不同的代码类型。也就是说,您可以将 Camel 路由用于一个操作,并使用 Java bean 进行另一个操作。

    每个属性都对应于 Fuse Online 步骤配置参数。在 Fuse 中,当用户选择自定义步骤时,Fuse Online 会提示输入配置参数值。例如,自定义日志步骤可能有一个 level 参数,用于指示发送到日志的信息量。

    以下是包含扩展元数据的 .json 文件的模板,其中包括用户在上传扩展并将其自定义步骤添加到集成后在 Fuse Online 中填充的属性:

    {
      "actions": [
        {
          "actionType": "extension",
          "id": "${actionId}",
          "name": "Action Name",
          "description": "Action Description",
          "tags": [
               "xml"
          ],
          "descriptor": {
            "kind": "ENDPOINT|BEAN|STEP",
            "entrypoint": "direct:${actionId}",
            "inputDataShape": {
              "kind": "any"
            },
            "outputDataShape": {
              "kind": "any"
            },
            "propertyDefinitionSteps": []
          }
        }
      ],
      "tags": [
        "feature",
        "experimental"
      ]
    }
    Copy to Clipboard Toggle word wrap
    注意

    此发行版本中会忽略标签。它们会被保留供以后使用。

  3. 要编辑扩展依赖项,请在编辑器中打开 'pom.xml 'file。如果添加依赖项,您必须定义其范围。

完成编写自定义步骤的代码后,构建 .jar 文件,如 第 9.5 节 “构建 Fuse Online 扩展 JAR 文件” 所述。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat