操作指南
组件 DSL
登录后可跨设备保存划线和私人笔记登录
组件 DSL
Component-DSL 是一套构建器 API,允许以类型安全的方式构造 Camel 组件,并将其直接注入 Camel Context,而不必通过构造函数进行初始化。
组件 DSL 仅作为 Java DSL 的一部分提供。
使用组件 DSL
以下是使用典型构造函数初始化方式构建的 Kafka 组件示例:
KafkaComponent kafka = new KafkaComponent();
kafka.setBrokers("localhost:9090");
camelContext.addComponent("kafka", kafka);使用新的 ComponentsBuilderFactory,可以访问 Camel 中所有的组件 DSL,从而将同样的 Java 语句改写为如下更易读的形式:
ComponentsBuilderFactory.kafka()
.brokers("{{kafka.host}}:{{kafka.port}}")
.register(camelContext, "kafka");为了更好地说明,我们可以将上面的 Java 语句拆分为 3 个部分:
ComponentsBuilderFactory.kafka():初始化camel-kafka组件的 DSL。.brokers("{{kafka.host}}:{{kafka.port}}"):这等同于使用 DSL 流式构建器实现kafka.setBrokers("localhost:9090")的 setter 方法。.register(camelContext, "kafka"):在这里我们直接将组件以kafka为名称注册到 Camel 上下文中,当然你可以使用任何你喜欢的组件名称,就像addComponentAPI 一样。
类型安全
与 Endpoint DSL 类似,它使用元模型(从源代码中提取并写入各种 JSON 文件)为每个组件生成流式 DSL。这种流式 DSL 为参数提供了类型安全。
依赖
要使用此功能,Maven 用户需要为该组件在 pom.xml 中添加以下依赖:
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-componentdsl</artifactId>
<version>x.x.x</version>
</dependency>然后像本页前面演示的那样使用它即可。
评论
登录后参与评论
正在加载评论…
KnowForge