2.6. 添加全局端点、数据格式或 Bean


概述

有些路由依赖于全局端点、全局数据格式或全局 Bean 提供的共享配置。您可以使用路由编辑器的 Configuration 选项卡在项目的路由上下文文件中添加全局元素。

在您的路由上下文文件中添加全局元素:

  1. 在路由编辑器中打开路由上下文文件。
  2. 在路由编辑器的底部,点 Configuration 选项卡以显示全局配置(如果存在)。

  3. 单击 Add 以打开 Create a new global element 对话框。

    这些选项是:

添加全局端点

  1. Create a new global element 对话框中,选择 Endpoint,再单击 OK 以打开 Select component 对话框。

    注意

    默认情况下,选择组件 对话框将启用 Show only palette components 选项。要查看所有可用组件,请取消选中此选项。

    注意

    类别选择分组时按类型对 组件进行分组。

  2. Select component 对话框中,滚动浏览 Camel 组件列表以查找并选择您要添加到上下文文件的组件,然后在 Id 字段中输入 ID。

    在本例中,选中 JMS 组件,myJMSId 值。

  3. Finish

    现在,您可以根据需要在 Properties 视图中设置属性。

    该工具会自动填充您在 [globalEndptSelect] 中组件 Id 字段中输入的值。在本例中,Camel 构建了从组件架构开始的 uri (必需字段)(本例中为 jms:),但您必须指定 destinationNamedestinationType 以完成组件的 uri

    注意

    对于 JMS 组件,目标类型默认为 队列。在 Destination Name 中输入一个值(必需字段)前,在 Details 页面中的 uri 字段中会显示这个默认值。

  4. 要完成组件的 uri,请单击 Advanced
  5. Destination Name 字段中输入目标端点的名称(如 FOO.BAR)。在 Destination Type 字段中,输入端点目的地的类型(如队列、topic、temp: queuetemp:queuetemp:topic)。

    Properties 视图的 DetailsAdvanced 选项卡提供对可用于配置特定组件的所有属性的访问。

  6. 单击 Consumer (advanced) 选项卡。

    启用属性 加载 Properties 和 Expose Listener Session

  7. 在路由编辑器中,切换到 Source 选项卡,查看添加到上下文文件中的代码(本例中为已配置的 JMS 端点),然后再使用第一个路由元素。

  8. 完成后,选择菜单栏中的 File Save 来保存您的更改。

添加全局数据格式

  1. Create a new global element 对话框中,选择 Data Format 并单击 OK 以打开 Create a global Data Format 对话框。

    数据格式默认为 avro,即可用列表顶部的格式。

  2. 打开 Data Format 下拉菜单,然后选择您想要的格式,例如 xmljson
  3. Id 字段中,输入格式的名称,例如 myDataFormat)。

  4. Finish

  5. Properties 视图中,根据您的项目设置属性值,例如:

  6. 在路由编辑器中,点 Source 选项卡查看添加到上下文文件中的工具的代码。在本例中,配置的 xmljson 数据格式是第一个路由元素的前面。

  7. 完成后,选择菜单栏中的 File Save 来保存您的更改。

添加全局 Bean

全局 bean 启用超出路由 Bean 的定义,这些定义可从路由的任意位置引用。当您将 Bean 组件从面板复制到路由时,您可以在 Properties 视图的 Ref 下拉列表中找到定义的全局 Bean。选择您希望 Bean 组件引用的全局 bean。

添加全局 bean 元素:

  1. Create a new global element 窗口中,选择 Bean 并点 OK 以打开 Bean Definition 对话框。

  2. Id 字段中,为全局 bean 输入 ID,例如 TransformBean。ID 在配置中必须是唯一的。
  3. 确定 bean 类或工厂 bean。

    要指定工厂 bean,您必须使用指定的工厂类添加了另一个全局 bean。然后您可以选择该全局 bean 将其声明为全球 bean 工厂。bean factory 类的一个实例将在运行时使用。其他全局 Bean 可以在该类上调用工厂方法来创建自己的其他类实例。

    要填写 Class 字段,请执行以下操作之一:

    • 输入项目或引用的项目中的类名称。
    • …​ 进入并选择项目或引用的项目中一个类。
    • 单击 + 以定义一个新的 bean 类,并将它添加为全局 bean。
  4. 如果您要添加的 bean 需要一个或多个参数,位于 Constructor Arguments 部分,用于每个参数:

    1. Add
    2. (可选)在 Type 字段中输入参数的类型。默认值为 java.lang.String
    3. Value 字段中,输入 参数的值。
    4. 点击 OK
  5. (可选)指定可由全局 Bean 访问的一个或多个属性。在 Bean Properties 部分中,对每个属性执行以下操作:

    1. Add
    2. Name 字段中输入属性的名称。
    3. Value 字段中,输入 属性的值。
    4. 点击 OK
  6. 单击 Finish,将全局 Bean 添加到配置中。您指定的全局 Bean ID 出现在 配置 选项卡中,例如:

  7. 切换到 Source 选项卡,以查看工具添加到上下文文件中的 bean 元素。例如:

  8. 点击 Configuration 选项卡返回全局元素列表,然后选择一个全局 bean 在 Properties 视图中显示其标准属性,例如:

    注意

    要查看或编辑您在添加全局 bean 时指定的属性,请在 Configuration 选项卡中选择 bean,然后单击 Edit

  9. 根据需要设置全局 bean 属性:

    • 依赖 -on 是一个字符串,可用于标识必须在此全局 bean 前创建 Bean。指定依赖的 ID (名称)。例如,如果您要添加 TransformBean,并将 Depends-on 设置为 ChangeCaseBean ,则必须创建 ChangeCaseBean,然后创建 TransformBean。当 Bean 被销毁时,TransformBean 会首先销毁。
    • factory -method 仅在全局 bean 是一个工厂类时才有用。在这种情况下,指定或选择在引用 bean 时要调用的静态工厂方法。
    • 范围是 单例原型。默认的 单例 表示,每次调用 bean 时,Camel 使用相同的 bean 实例。指定您希望 Camel 创建新实例时,每次调用 bean 时指定 bean 的新实例。
    • 通过 init -method,您可以指定或选择在引用 bean 时要调用的 bean 的 init () 方法。
    • 通过 destroy -method,您可以指定或选择 bean 执行时要调用的 bean 的具体方法。
  10. 完成后,选择菜单栏中的 File Save 来保存您的更改。

删除全局元素

无论删除端点、数据格式还是之前添加到路由上下文中,步骤都相同。

注意

您无法执行删除全局元素的撤消操作。如果意外地删除了您希望在配置中保留的全局元素,您可以通过关闭上下文文件而不保存该文件来撤销删除。如果这不可行,则重新添加意外删除的全局元素。

  1. Configuration 选项卡中,选择您要删除的全局元素。

    例如,假设您想删除在 “添加全局数据格式”一节 中添加的数据格式 myDataFormat

  2. Delete

    global 元素 myDataFormat 从 Configuration 选项卡中 消失。

  3. 切换到 Source 选项卡,以检查工具是否从路由上下文中删除了 XML 代码。

  4. 完成后,选择菜单栏中的 File Save 来保存您的更改。

编辑全局元素

无论您在路由上下文中添加了端点的属性、数据格式或 bean,程序都相同。

通常,您不想更改全局元素的 ID。如果在正在运行的路由中使用 global 元素,更改 ID 可能会破坏对全局元素的引用。

  1. Configuration 选项卡中,选择要编辑的全局元素。

    例如,要编辑在 “添加全局端点”一节 中添加的端点 myJMS,请选择它:

  2. Edit

    Properties 视图中,根据需要修改元素的属性。

  3. 例如,打开 Advanced Consumer 选项卡,并将 Concurrent Consumers 的值改为 2:

  4. 在路由编辑器中,点 Source 选项卡,检查工具是否将属性 并发Consumers=2 添加到路由上下文中:

  5. 完成后,选择菜单栏中的 File Save 来保存您的更改。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat