我应该如何命名Apache Camel DSL元素?它们是“函数”?“方法”?“动词”?

omtl5h9j  于 2022-11-23  发布在  Apache
关注(0)|答案(1)|浏览(127)

当我想引用创建route in Apache Camel时使用的元素(如fromsetBodyto等)时,我应该使用什么名称?就称它为“函数”吗?我可以称它为“方法”吗?还是它有一个更具体、更合适的名称?
我看到人们称它为“动词”。这也是一个合适的提名吗?
路由定义示例如下:

from("rest:post:bin")
.removeHeader(Exchange.HTTP_URI)
.setHeader("CamelHttpMethod", constant("POST"))
.to("http://httpbin.org/anything")
.unmarshal().json(JsonLibrary.Gson)
.setBody(simple("${body[data]}"))

在本例中,我们使用Java DSL的fromremoveHeadersetHeadertounmarshalsetBody元素。
我知道,在编程上,它们是函数和方法。但是使用代码并不是定义路由的唯一方法。例如,我们可以使用这些相同的元素来定义使用XML or Yaml DSL的路由。所以我认为简单地调用“函数”可能不是命名这些DSL元素的最合适的选择。
谢谢你!

hgc7kmma

hgc7kmma1#

通常您应该使用企业集成模式手册和website中定义的术语。这是Camel文档使用的术语,Camel in Action手册使用的术语,以及在使用camel时通常认为最通用的术语,无论您使用xml-dsl、yaml-dsl还是Java-dsl。
Camel Java-DSL使用类似于Builder design pattern的东西来定义路由。
在Java-DSL中,当您在路由生成器中调用from("direct:example")方法时,Camel会创建带有direct:example Consumer-endpoint的新RouteDefition。该方法返回RouteDefinition对象,然后您可以使用该对象将生产者-端点和处理器添加到该RouteDefinition(通常使用pipeline)。

示例:

  • from()-〉使用者端点
  • to()-〉生产者端点/丰富器
  • removeHeader、setHeader、解组和setBody -〉处理器
  • split()-〉溢出
  • aggregate()-〉聚合器

相关问题