1.4. 入门配置
清除和可访问的配置是任何应用程序的关键部分。Camel 启动器完全支持 Spring Boot 的外部配置机制。您还可以通过 Spring Beans 为更复杂的用例配置它们。
1.4.1. 使用外部配置
在内部,每个 初学者 都通过 Spring Boot 的配置 属性进行配置。每个配置参数 可以以不同的方式 设置(application.[properties|json|yaml]
文件、命令行参数、环境变量等。参数的格式是 camel.[component|language|dataformat].[name].[parameter]
例如,要配置 MQTT5 代理的 URL,您可以设置:
camel.component.paho-mqtt5.broker-url=tcp://localhost:61616
或者要配置 CSV 数据格式的 delimeter
为分号 (;),您可以设置:
camel.dataformat.csv.delimiter=;
当将属性设置为所需类型时,Camel 将使用 Type Converter 机制。
您可以使用 #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 创建和配置 starters。在创建初学者之前,Camel 将首先在 Registry 中查询它(如果已存在)。例如,配置 Kafka 组件:
@Bean("kafka") public KafkaComponent kafka(KafkaConfiguration kafkaconfiguration){ return ComponentsBuilderFactory.kafka() .brokers("{{kafka.host}}:{{kafka.port}}") .build(); }
Bean
名称必须与您要配置的组件、Dataformat 或 Language 相等。如果没有在注解中指定 Bean
名称,它将被设置为方法名称。
典型的 Camel Spring Boot 项目将使用外部配置和 Bean 的组合来配置应用程序。有关如何配置 Camel Spring Boot 项目的更多示例,请参阅示例 存储库。