9.4. 创建自定义步骤
创建 Fuse Online 扩展项目后,您将根据 Fuse Online 用户为您提供所需功能的描述编写定义自定义步骤的代码。在一个扩展中,您可以定义多个自定义步骤,您可以使用 Camel 路由或使用 Java Bean 定义每个自定义步骤。
9.4.1. 为自定义步骤编写代码
创建 Fuse Online 扩展项目后,您将编写用于定义自定义步骤的代码,该代码基于 Fuse Online 用户所提供的所需功能的描述。
表 9.2 “自定义步骤元素” 显示在 Fuse Tooling 中创建的自定义步骤的元素如何与 Fuse Online 中的元素对应。
Fuse Tooling 元素 | Fuse Online 元素 | 描述 |
---|---|---|
操作 | 自定义步骤 | 在 Fuse Online 中,在用户导入步骤扩展后,会在 Choose a step 页面上显示自定义步骤。 |
操作中定义的属性 | 自定义步骤配置参数 | 在 Fuse Online 中,当用户选择自定义步骤时,Fuse Online 会提示输入配置参数的值。 |
编写为 Fuse Online 实施自定义步骤的代码:
对于基于 Camel 路由的步骤,在
extension.xml
文件中,创建用于处理扩展目的的路由。每个路由的入口点必须与您在syndesis-extension-definition.json
文件中定义的入口点匹配,如第 2 步所述。对于基于 Java Bean 的步骤,请编辑
java
文件。在
syndesis-extension-definition.json
文件中,编写定义操作及其属性的代码。每个入口点都需要一个新的操作。您创建的每个操作都对应于 Fuse Online 中的自定义步骤。您可以为每个操作使用不同类型的代码。也就是说,您可以将 Camel 路由用于一个操作,而 Java bean 用于另一个操作。
每个属性对应于 Fuse Online step 配置参数。在 Fuse Online 中,当用户选择自定义步骤时,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" ] }
注意本发行版本中会忽略标签。它们被保留给以后使用。
- 要编辑扩展依赖项,请在编辑器中打开 'pom.xml 'file。如果添加依赖项,则必须定义其范围。
完成自定义步骤编写代码后,构建 .jar
文件,如 第 9.5 节 “构建 Fuse Online 扩展 JAR 文件” 所述。