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 | 布尔值 |