11.2. 配置选项


Camel 组件在两个独立级别上配置:

  • 组件级别
  • 端点级别

11.2.1. 配置组件级别选项

组件级别是最高配置级别。它包含所有端点的通用配置。

您可以在配置文件(application.properties|yaml)中使用 组件 DSL 配置组件,或者直接使用 Java 代码配置组件。

某些组件只有几个选项,其他组件可能会有许多选项。组件可能具有安全设置、用于身份验证的凭证、网络连接的 URL 等。

组件通常已经为最常见的情况预配置默认值,因此您可能不需要配置任何选项,或者仅配置几个。

11.2.2. 组件选项

AtlasMap 组件支持 4 个选项:

Name描述注释default类型

lazyStartProducer (producer)

生成者的 lazy 启动。

生产者从第一个消息开始。

在生成者无法启动并导致路由失败时,允许 CamelContext 和路由启动。

启用 lazy start 时,您可以通过 Camel 的路由错误处理程序在路由消息期间处理故障。

当处理第一个消息时,创建并启动制作者可能会延长总处理时间。

false

布尔值

atlasContextFactory (advanced)

要使用 AtlasContextFactory,否则会创建新的引擎。

 

AtlasContextFactory

autowiredEnabled (advanced)

是否启用自动关闭。这用于自动关闭选项(选项必须标记为 autowired),方法是在 registry 中查找查找是否有单个匹配类型实例,然后在组件上配置。这可用于自动配置 JDBC 数据源、JMS 连接工厂、AWS 客户端等。

true

布尔值

propertiesFile (advanced)

用于 AtlasContextFactory 初始化的属性文件的 URI。

11.2.3. 配置端点级别选项

在端点级别上,包含端点本身的配置。

您可以将端点 URI 直接配置为路径和查询参数。您还可以使用 Endpoint DSLData Format DSL 作为 Java 中配置端点的 安全方法

端点通常有许多选项来配置您需要的端点。

端点选项按照其用途进行分类,可以是作为消费者()或生成者()或两者的分类。

在配置选项时,最好为 urls、端口号和敏感信息使用 Property Placeholders 而不是硬编码设置。

使用占位符从代码外部化配置,使其更灵活且可重复使用。

11.2.4. 端点选项

Apache Camel 组件参考端点使用 URI 语法进行配置,其路径和查询参数:

atlas:resourceUri

11.2.4.1. 路径参数(1 参数)

Name

描述

default

类型

resourceUri (producer)

资源 所需的 路径。您可以使用前缀前缀: classpathfilehttprefbean

前缀 类路径文件http 使用这些协议加载资源。ref 前缀在 registry 中查找资源。前缀 bean 调用 bean 方法,按名称用作资源,在 dot: bean:myBean.myMethod 后提供。

classpath

字符串

11.2.4.2. 查询参数(7 参数)

Name

描述

注释

default

类型

allowContextMapAll (producer)

允许访问所有上下文映射详细信息。

默认情况下,只允许访问消息正文和标头。

启用后,allowContextMapAll 允许完全访问当前 Exchange 和 CamelContext ,这会带来潜在的安全风险,因为这会打开 CamelContext API 的全部功能。

false

布尔值

contentCache (producer)

使用资源内容缓存。

 

false

布尔值

forceReload (producer)

使用强制重新加载模式。

这会从每个交换上的文件加载 ADM。

默认情况下,ADM 文件仅从第一个 Exchange 上的文件加载,而 AtlasContext 将会被重复使用,直到端点被重新创建为止。

false

布尔值

lazyStartProducer (producer)(advanced)

生成者的 lazy 启动。

生产者从第一个消息开始。

在生成者无法启动并导致路由失败时,允许 CamelContext 和路由启动。

启用 lazy start 时,您可以通过 Camel 的路由错误处理程序在路由消息期间处理故障。

处理第一个消息时,创建和启动制作者可能会延长总处理时间。

false

布尔值

sourceMapName (producer)

源消息映射的 Exchange 属性名称,其中包含 java.util.Map<String, Message>,其中键是 AtlasMap Document ID。

AtlasMap 将 Message bodies 用作源文档,以及消息标头作为源属性,其中范围等于 Document ID。

 

字符串

targetMapMode (producer)

TargetMapMode enum 值,以指定在存在多个目标文档时如何发送它们。

Enum 值:

* MAP * MESSAGE_HEADER * EXCHANGE_PROPERTY

MAP: 将文档存储在 java.util.Map 中。如果指定了 targetMapName,则 java.util.Map 设置为 exchange 属性,否则设置为消息正文。MESSAGE_HEADER :将它们存储在消息标头中。EXCHANGE_PROPERTY :将它们存储在交换属性中。

MAP

TargetMapMode

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.