60.7. Samples


kamelets 可以像标准 Camel 组件一样使用。例如,假设我们创建了一个路由模板,如下所示:

routeTemplate("setMyBody")
    .templateParameter("bodyValue")
    .from("kamelet:source")
        .setBody().constant("{{bodyValue}}");
Copy to Clipboard Toggle word wrap
注意

要让 Kamelet 组件将材料化路由到调用器处理器,我们需要识别路由的输入和输出端点,这通过使用 kamele:source 标记输入端点和 kamelet:sink 作为输出端点。

然后,模板可以被实例化并调用,如下所示:

from("direct:setMyBody")
    .to("kamelet:setMyBody?bodyValue=myKamelet");
Copy to Clipboard Toggle word wrap

在 scenes 之后,Kamelet 组件执行以下操作:

  1. 它实例化了一个路由,来自于给定 templateId path 参数标识的 Route 模板(本例中为 setBody
  2. 它将充当 直接 组件,并将当前路由连接到材料化。

如果您需要以编程方式进行,它类似如下:

routeTemplate("setMyBody")
    .templateParameter("bodyValue")
    .from("direct:{{foo}}")
        .setBody().constant("{{bodyValue}}");

TemplatedRouteBuilder.builder(context, "setMyBody")
    .parameter("foo", "bar")
    .parameter("bodyValue", "myKamelet")
    .add();

from("direct:template")
    .to("direct:bar");
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat