apache-camelapache-camel入门


备注

Apache Camel是一个主要有助于解决企业集成挑战的框架。它的核心可以被认为是路由引擎引擎构建器。实质上,它允许您通过路由连接系统(端点)。这些路由接受可以是任何数据类型的消息。

Apache Camel框架还包含一整套EIP(企业集成模式),例如拆分器,聚合器,基于内容的路由等。由于框架可以在各种独立的Java应用程序中部署,在各种应用程序服务器(如WildFly和Tomcat)中,或者在完全成熟的企业服务总线上,因此可以将其视为集成框架。

要开始使用该框架,您需要使用以下方法之一将其添加到项目中:

  1. Maven的
  2. 摇篮
  3. 春季启动
  4. Plain Old JAR库引用添加到您的项目中。

骆驼域特定语言

Camel的DSL(领域特定语言)是使Camel从其他Integration框架中脱颖而出的功能之一。虽然其他一些框架也具有DSL概念,通常采用XML文件的形式,但DSL在这种情况下始终是基于自定义的语言。

Camel提供多种编程语言的DSL,如Java,Scala,Groovy和XML。

例如,可以通过各种方式完成简单的文件复制路由,如下面的列表所示

  • Java DSL

    from("file:data/in").to("file:data/out");
     
  • 蓝图/ Spring DSL(XML)

    <route>
      <from uri="file:data/inbox"/>
      <to uri="file:data/out"/>
    </route>
     
  • Scala DSL

    from "file:data/inbox" -> "file:data/out"
     

安装或设置

有关添加所需Camel依赖项的详细说明。


Maven依赖

在您的应用程序中包含Apache Camel的最常见方法之一是通过Maven依赖。通过添加下面的依赖块,Maven将为您解析Camel库和依赖项。

<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-core</artifactId>
  <version>2.17.3</version>
</dependency>
 

摇篮

在您的应用程序中包含Apache Camel的另一种常见方法是通过Gradle依赖。只需在下面添加依赖项行,Gradle将为您导入Camel库及其依赖项。

// https://mvnrepository.com/artifact/org.apache.camel/camel-core
compile group: 'org.apache.camel', name: 'camel-core', version: '2.17.3'
 

春季启动

从Camel 2.15开始,您现在可以利用Apache Camel的Spring Boot依赖项。与Camel库的不同之处在于它提供了一种固定的自动配置,包括自动检测Camel路由。

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-spring-boot</artifactId>
    <version>${camel.version}</version> <!-- use the same version as your Camel core version -->
</dependency>