11.2. 配置选项


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

  • 组件级别
  • 端点级别

11.2.1. 配置组件级别选项

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

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

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

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

11.2.2. 组件选项

AtlasMap 组件支持 4 个选项:

名称描述注释default类型

lazyStartProducer (producer)

生成者的 lazy 开始。

制作者在第一个消息上启动。

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

启用 lazy 启动时,您可以通过 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 中配置端点的安全方法

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

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

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

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

11.2.4. 端点选项

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

atlas:resourceUri

11.2.4.1. 路径参数(1 参数)

名称

描述

default

类型

resourceUri (producer)

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

前缀 classpathfile、和 http 使用这些协议加载资源。ref 前缀在 registry 中查找资源。前缀 bean 调用一个 bean 方法,以按名称用作资源,在点: bean:myBean.myMethod 后面提供。

classpath

字符串

11.2.4.2. 查询参数(7 参数)

名称

描述

注释

default

类型

allowContextMapAll (producer)

允许访问所有上下文映射详情。

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

启用后,allowContextMapAll 允许完全访问当前的 Exchange 和 CamelContext ,这会产生潜在的安全风险, 因为这会产生对 CamelContext API 完整功能的访问。

false

布尔值

contentCache (producer)

使用资源内容缓存。

 

false

布尔值

forceReload (producer)

使用 force reload 模式。

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

默认情况下,ADM 文件只会从第一个 Exchange 上的文件加载,在重新创建端点前,将重复使用 AtlasContext。

false

布尔值

lazyStartProducer (producer)(advanced)

生成者的 lazy 开始。

制作者在第一个消息上启动。

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

启用 lazy 启动时,您可以通过 Camel 的路由错误处理程序在路由消息过程中处理失败。

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

false

布尔值

sourceMapName (producer)

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

AtlasMap 使用消息正文作为源文档,以及消息标头作为范围等于 Document ID 的源属性。

 

字符串

targetMapMode (producer)

TargetMapMode enum 值指定在存在多个目标文档时如何传输它们。

Enum 值:

* MAP * MESSAGE_HEADER * EXCHANGE_PROPERTY

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

MAP

TargetMapMode

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.