1.4. Starter 配置


清除并可访问的配置是任何应用程序的重要部分。Camel 启动器完全支持 Spring Boot 的外部配置机制。您还可以通过 Spring Beans 配置它们,以获取更复杂的用例。

1.4.1. 使用外部配置

在内部,每个 启动程序 都通过 Spring Boot 的 ConfigurationProperties 配置。每个配置参数都可以 以各种方式 设置(application.[properties|json|yaml] 文件、命令行参数、环境变量等。参数的格式为 camel.[component|language|dataformat].[name].[parameter]

例如,要配置 mq5 代理的 URL,您可以设置:

camel.component.paho-mqtt5.broker-url=tcp://localhost:61616
Copy to Clipboard Toggle word wrap

或者要配置 CSV 数据格式的 delimeter 为分号 (;),您可以设置:

camel.dataformat.csv.delimiter=;
Copy to Clipboard Toggle word wrap

当将属性设置为所需类型时,Camel 将使用 Type Converter 机制。

您可以使用 sVirt bean:name 在 Registry 中引用 Bean

camel.component.jms.transactionManager=#bean:myjtaTransactionManager
Copy to Clipboard Toggle word wrap

Bean 通常以 Java 为单位创建:

@Bean("myjtaTransactionManager")
public JmsTransactionManager myjtaTransactionManager(PooledConnectionFactory pool) {
    JmsTransactionManager manager = new JmsTransactionManager(pool);
    manager.setDefaultTimeout(45);
    return manager;
}
Copy to Clipboard Toggle word wrap

Bean 也可以在 配置文件中 创建,但不建议用于复杂的用例。

1.4.2. 使用 Beans

也可以通过 Spring Beans 创建和配置启动程序。在创建入门程序之前,Camel 将首先在 Registry 中查找它(如果已存在)。例如,配置 Kafka 组件:

@Bean("kafka")
public KafkaComponent kafka(KafkaConfiguration kafkaconfiguration){
    return ComponentsBuilderFactory.kafka()
                        .brokers("{{kafka.host}}:{{kafka.port}}")
                        .build();
}
Copy to Clipboard Toggle word wrap

Bean 名称必须与您要配置的组件、数据格式或语言相同。如果没有在注解中指定 Bean 名称,它将设置为方法名称。

典型的 Camel Spring Boot 项目将组合使用外部配置和 Beans 来配置应用程序。有关如何配置 Camel Spring Boot 项目的更多信息,请参阅示例 存储库

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat