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
或者要配置 CSV 数据格式的 delimeter
为分号 (;),您可以设置:
camel.dataformat.csv.delimiter=;
当将属性设置为所需类型时,Camel 将使用 Type Converter 机制。
您可以使用 sVirt bean:name 在 Registry 中引用 Bean
:
camel.component.jms.transactionManager=#bean:myjtaTransactionManager
Bean
通常以 Java 为单位创建:
@Bean("myjtaTransactionManager") public JmsTransactionManager myjtaTransactionManager(PooledConnectionFactory pool) { JmsTransactionManager manager = new JmsTransactionManager(pool); manager.setDefaultTimeout(45); return manager; }
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(); }
Bean
名称必须与您要配置的组件、数据格式或语言相同。如果没有在注解中指定 Bean
名称,它将设置为方法名称。
典型的 Camel Spring Boot 项目将组合使用外部配置和 Beans 来配置应用程序。有关如何配置 Camel Spring Boot 项目的更多信息,请参阅示例 存储库。