33.2. 配置选项


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

  • 组件级别
  • 端点级别

33.2.1. 配置组件选项

组件级别是最高级别,它包含端点继承的常规配置。例如,一个组件可能具有安全设置、用于身份验证的凭证、用于网络连接的 url 等等。

某些组件只有几个选项,其他组件可能会有许多选项。由于组件通常已配置了常用的默认值,因此通常只需要在组件上配置几个选项,或者根本不需要配置任何选项。

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

33.2.2. 配置端点选项

您发现自己在端点上配置了一个,因为端点通常有许多选项,允许您配置您需要的端点。这些选项被分别分类为:端点作为消费者(来自)被使用,和作为生成者(到)使用,或被两者使用。

配置端点通常在端点 URI 中作为路径和查询参数直接进行。您还可以使用 Endpoint DSL 作为配置端点的安全方法。

在配置选项时,最好使用 Property Placeholders,它不允许硬编码 URL、端口号、敏感信息和其他设置。换句话说,占位符允许从您的代码外部配置,并提供更多灵活性和重复使用。

以下两节列出了所有选项,首为于组件,后跟端点。

33.2.3. 组件选项

JSLT 组件支持 5 个选项,如下所列。

Name描述默认值类型

allowTemplateFromHeader (producer)

是否允许从标头使用资源模板(默认为 false)。启用此功能允许通过消息标头指定动态模板。但是,如果标头来自恶意用户,则可能会被视为潜在的安全漏洞,因此请小心使用。

false

布尔值

lazyStartProducer (producer)

生成者是否应懒惰启动 (在第一个消息中)。通过懒惰启动,您可以使用此选项来允许 CamelContext 和路由在生成者启动期间启动,并导致路由启动失败。通过懒惰启动,启动失败可以在路由信息时通过 Camel 的路由错误处理程序进行处理。请注意,在处理第一个消息时,创建并启动生成者可能需要稍等时间,并延长处理的总处理时间。

false

布尔值

autowiredEnabled (advanced)

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

true

布尔值

功能 (高级)

JSLT 可以通过插入使用 Java 编写的功能来扩展。

 

集合

objectFilter (advanced)

JSLT 可以通过插入自定义 jslt 对象过滤器来扩展。

 

JsonFilter

33.2.4. 端点选项

JSLT 端点使用 URI 语法进行配置:

jslt:resourceUri

使用以下路径和查询参数:

33.2.4.1. 路径参数(1 参数)

Name描述默认值类型

resourceUri (producer)

资源 所需的 路径。您可以使用前缀:classpath, file, http, ref, 或 bean. classpath, 文件和 http 使用这些协议(classpath 为 default)。ref 将查找 registry 中的资源。Bean 将调用要用作资源的 bean 的方法。对于 bean,您可以在点后指定方法名称,如 bean:myBean.myMethod。

 

字符串

33.2.4.2. 查询参数(7 参数)

Name描述默认值类型

allowContextMapAll (producer)

设置上下文映射是否应允许访问所有详细信息。默认情况下,只能访问消息正文和标头。可以启用此选项以完全访问当前 Exchange 和 CamelContext。这样做会产生潜在的安全风险,因为这会打开对 CamelContext API 完整功能的访问。

false

布尔值

allowTemplateFromHeader (producer)

是否允许从标头使用资源模板(默认为 false)。启用此功能允许通过消息标头指定动态模板。但是,如果标头来自恶意用户,则可能会被视为潜在的安全漏洞,因此请小心使用。

false

布尔值

contentCache (producer)

设置是否使用资源内容缓存。

false

布尔值

mapBigDecimalAsFloats (producer)

如果为 true,则映射程序将使用 USE_BIG_DECIMAL_FOR_FLOATS in serialization 功能。

false

布尔值

ObjectMapper (producer)

设置要使用的自定义 JSON 对象映射程序。

 

ObjectMapper

prettyPrint (common)

如果为 true,则输出消息中的 JSON 是用户友善打印的。

false

布尔值

lazyStartProducer (producer (advanced))

生成者是否应懒惰启动 (在第一个消息中)。通过懒惰启动,您可以使用此选项来允许 CamelContext 和路由在生成者启动期间启动,并导致路由启动失败。通过懒惰启动,启动失败可以在路由信息时通过 Camel 的路由错误处理程序进行处理。请注意,在处理第一个消息时,创建并启动生成者可能需要稍等时间,并延长处理的总处理时间。

false

布尔值

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.