Primeros pasos con apache-camel

Instalación o configuración

Instrucciones detalladas sobre cómo agregar las dependencias Camel requeridas.


Dependencia de Maven

Una de las formas más comunes de incluir Apache Camel en su aplicación es a través de una dependencia de Maven. Al agregar el bloque de dependencia a continuación, Maven resolverá las bibliotecas y dependencias de Camel por usted.

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

Gradle

Otra forma común de incluir Apache Camel en su aplicación es a través de una dependencia de Gradle. Simplemente agregue la línea de dependencia a continuación y Gradle importará la biblioteca Camel y sus dependencias por usted.

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

Bota de primavera

A partir de Camel 2.15, ahora puede aprovechar la dependencia Spring Boot de Apache Camel. La diferencia con esta biblioteca Camel es que proporciona una configuración automática obstinada, incluida la detección automática de rutas 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>

Idioma específico del dominio Camel

El DSL (lenguaje específico del dominio) de Camel es una de las características que hace que Camel se destaque de otros marcos de integración. Si bien algunos otros marcos también presentan un concepto de DSL, generalmente en forma de archivo XML, el DSL siempre fue en tales casos un lenguaje personalizado.

Camel ofrece múltiples DSL en lenguajes de programación como Java, Scala, Groovy y en XML.

Por ejemplo, una ruta de copia de archivo simple se puede hacer de varias maneras, como se muestra en la lista a continuación.

  • ADSL de Java

     from("file:data/in").to("file:data/out");
    
  • Modelo/Primavera DSL (XML)

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

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