如何在apache camel中获取DSL(域特定语言)列表?

时间:2014-03-27 02:28:25

标签: java reference uri apache-camel dsl

我是Apache Camel的新手。我可以通过教程从官方网站获得大量提示。但是,我还是无法理解DSL。我知道file://~~~http://的含义,但我无法理解direct:a之类的内容。

是否有任何参考资料可以解释有多少DSL以及各自的含义?

感谢您的帮助。

4 个答案:

答案 0 :(得分:1)

每个Camel组件都有一个参考页面,其中说明了它们的作用和用途。此外,通常会有一个列表,其中包含所有可用选项以及该特定组件的几个示例。

您可以在此处查看可用组件的完整列表:Apache Camel Components

在该列表中,您将找到您正在寻找的Direct组件。此外,根据您使用的语言,URI中的一些变化很少。不同的语言有不同的DSL(Java,Spring XML,Scala,Java Annotations ......)。有关差异的信息通常包含在组件参考页面中。有关不同DSL的更多信息,请查看here

答案 1 :(得分:0)

Camel提供多种DSL(特定于域的语言),例如Java,Scala,Groovy。 DSL的目的是让开发人员专注于集成问题,而不是工具 - 编程语言。尽管Camel主要使用Java编写,但它确实支持混合多种编程语言。每种语言都有自己的优势,您可能希望为不同的任务使用不同的语言。您可以自由地以尽可能少的约束以自己的方式构建解决方案。

以下是使用不同语言并保持功能的DSL的一些示例 当量:

■Java DSL

from("file:data/inbox").to("jms:queue:order");

■Spring DSL

<route>
    <from uri="file:data/inbox"/>
    <to uri="jms:queue:order"/>
</route>

■Scala DSL

from "file:data/inbox" -> "jms:queue:order"

这些示例是真实的代码,它们表明您可以轻松地从文件路由文件 使用不同的DSL将文件夹添加到JMS队列。

答案 2 :(得分:0)

你说“我知道什么文件:// ~~~或http://的意思,但我无法理解直接的东西:a。”

file,http和direct都是驼峰组件,可以在hveiga已经提供的链接中找到。

您还谈到了DSL,SAM已经为您提供了一些示例。

我不确定你是否在寻找javadocs,可以在这里找到它们 http://camel.apache.org/maven/current/camel-spring/apidocs/index.html

但他们大多只是链接回骆驼网页。对于您提到的“直接”组件的具体示例,可以在此处找到所有适用的参数: http://camel.apache.org/maven/current/camel-core/apidocs/index.html

答案 3 :(得分:0)

虽然这个问题有点老了,但我在自己的搜索中偶然发现了我可以使用的DSL关键字或方法名称列表。据我所知,这里的大多数答案试图解释,DSL是什么,但不是你可以在哪里找到关键词列表。 Daniel确实提到了Javadoc,但没有进一步提及相关的类。

经过长时间的搜索后,我在文档中找到了正确的(和中心)类 - 特别是ProcssorDefinition,后来由Route Definition扩展。在这些课程中,DSL的大部分关键词都是定义的 - 以及简短的解释和他们所指的EIP

最有趣和最相关的是返回 Type (在ProcessorDefinition中)和 RouteDefinition (在...... well RouteDefinition中)的方法,因为它们允许你可以进行链接的类型在DSL中看到。