Red Hat Camel K is no longer supported.
As of June 30, 2025, Red Hat build of Camel K has reached End of Life. The suggested replacements is Red Hat build of Apache Camel. For details about moving, see the Camel K to Camel Quarkus migration guide.4.2. 指定运行时配置选项
您可以在 Camel K 运行时指定以下运行时配置信息:
- 您在命令行或 .properties 文件中提供的运行时属性。
- 在集成启动时,您希望 Camel K 操作器处理并解析为运行时属性的配置值。您可以在本地文本文件、OpenShift ConfigMap 或 OpenShift secret 中提供配置值。
- 集成启动时不会解析为属性文件的资源信息。您可以在本地文本文件、二进制文件、OpenShift ConfigMap 或 OpenShift secret 中提供资源信息。
使用以下 kamel run
选项:
--property
使用
--property
选项直接在命令行中指定运行时属性,或者引用 Java*.properties
文件。Camel K 运算符将属性文件的内容附加到正在运行的集成的用户.properties
文件中。--config
在集成启动时,使用
--config
选项提供您希望 Camel K 运算符处理并解析为运行时属性的配置值。您可以提供一个本地文本文件(1 MiB 最大文件大小)、ConfigMap (3MB)或 Secret (3MB)。该文件必须是 UTF-8 资源。材料化文件(在从您提供的文件中生成的)在类路径级别上提供,以便您可以在集成代码中引用它,而无需提供确切的位置。
注: 如果您需要提供非 UTF-8 资源(例如,一个二进制文件),请使用
--resource
选项。--resource
使用
--resource
选项为集成提供资源,以便在资源运行时访问。您可以提供本地文本或二进制文件(1 MiB 最大文件大小)、ConfigMap (最大 3MB)或 Secret (最大 3MB)。另外,您还可以指定资源材料的文件的目的地。例如,如果要设置 HTTPS 连接,请使用--resource
选项提供在指定位置预期 SSL 证书(二进制文件)。Camel K 运算符不会解析属性的资源,且不会将资源添加到 classpath 中。(如果要将资源添加到类路径,您可以使用集成中的 JVM 特征。
4.2.1. 提供运行时属性 复制链接链接已复制到粘贴板!
您可以直接在命令行中指定运行时属性,或者使用 kamel run
命令的 --property
选项引用 Java *.properties
文件。
当您运行与 --property
选项的集成时,Camel K operator 会将属性附加到正在运行的集成 的用户.properties
文件中。
4.2.1.1. 在命令行中提供运行时属性 复制链接链接已复制到粘贴板!
您可以在运行时在命令行中配置 Camel K 集成的属性。当您使用属性占位符(如 {{my.message}}
)在集成中定义属性时,您可以在命令行中指定属性值,如 --property my.message=Hello
。您可以在一个命令中指定多个属性。
先决条件
流程
开发使用属性的 Camel 集成。以下简单示例包含
{{my.message}}
属性占位符:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用下列语法运行集成,在运行时设置属性值:
kamel run --property <property>=<value> <integration>
kamel run --property <property>=<value> <integration>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 另外,您可以使用
--p
简写表示法(使用--property
代替 ):kamel run --property <property>=<value> <integration>
kamel run --property <property>=<value> <integration>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
kamel run --property my.message="Hola Mundo" HelloCamelK.java --dev
kamel run --property my.message="Hola Mundo" HelloCamelK.java --dev
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者
kamel run --p my.message="Hola Mundo" HelloCamelK.java --dev
kamel run --p my.message="Hola Mundo" HelloCamelK.java --dev
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下是示例结果:
... [1] 2020-04-13 15:39:59.213 INFO [main] ApplicationRuntime - Listener org.apache.camel.k.listener.RoutesDumper@6e0dec4a executed in phase Started [1] 2020-04-13 15:40:00.237 INFO [Camel (camel-k) thread #1 - timer://java] info - Exchange[ExchangePattern: InOnly, BodyType: String, Body: Hola Mundo from java] ...
... [1] 2020-04-13 15:39:59.213 INFO [main] ApplicationRuntime - Listener org.apache.camel.k.listener.RoutesDumper@6e0dec4a executed in phase Started [1] 2020-04-13 15:40:00.237 INFO [Camel (camel-k) thread #1 - timer://java] info - Exchange[ExchangePattern: InOnly, BodyType: String, Body: Hola Mundo from java] ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
另请参阅
4.2.1.2. 在属性文件中提供运行时属性 复制链接链接已复制到粘贴板!
您可以在运行时在命令行中指定属性文件(*.properties
)来为 Camel K 集成配置多个属性。当您使用属性占位符(如 {{my.items}}
)在集成中定义属性时,您可以使用属性文件(如 --p 文件 my-integration.properties
)来指定命令行上的属性值。
前提条件
流程
创建集成属性文件。以下示例来自名为
my.properties
的文件:my.key.1=hello my.key.2=world
my.key.1=hello my.key.2=world
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 开发使用属性文件的 Camel 集成。以下示例
Routing.java
集成使用{{my.key.1}}
和{{my.key.2=world}}
属性占位符:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过以下语法运行集成来引用属性文件:
kamel run --property file:<my-file.properties> <integration>
kamel run --property file:<my-file.properties> <integration>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 另外,您可以使用
--p
简写表示法(使用--property
代替 ):kamel run --p file:<my-file.properties> <integration>
kamel run --p file:<my-file.properties> <integration>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
kamel run Routing.java --property:file=my.properties --dev
kamel run Routing.java --property:file=my.properties --dev
Copy to Clipboard Copied! Toggle word wrap Toggle overflow