apache-camelIniziare con apache-camel


Osservazioni

Apache Camel è un framework che facilita principalmente la risoluzione delle sfide di integrazione aziendale. Al suo centro può essere pensato come un costruttore di motori di routing. In sostanza, consente di connettere i sistemi (endpoint) tramite percorsi. Questi percorsi accettano messaggi che possono essere di qualsiasi tipo di dati.

Il framework Apache Camel contiene anche un set completo di EIP (modelli di integrazione aziendale) come splitter, aggregatori, routing basato sul contenuto e così via. Poiché il framework può essere implementato in varie applicazioni Java standalone, in vari server applicativi come WildFly e Tomcat o su un bus di servizio aziendale completo può essere visto come un framework di integrazione.

Per iniziare con il framework è necessario aggiungerlo a un progetto utilizzando uno dei seguenti metodi:

  1. Maven
  2. Gradle
  3. Spring Boot
  4. Semplice vecchio riferimento alla libreria JAR aggiunto al progetto.

Lingua specifica del dominio cammello

Camel's DSL (Domain Specific Language) è una delle caratteristiche che rende Camel straordinario rispetto ad altri framework di integrazione. Mentre alcuni altri framework dispongono anche di un concetto DSL, in genere sotto forma di file XML, in questi casi il DSL era sempre un linguaggio personalizzato.

Camel offre più DSL in linguaggi di programmazione come Java, Scala, Groovy e in XML.

Ad esempio, un semplice percorso di copia dei file può essere eseguito in vari modi, come mostrato nell'elenco seguente

  • DSL Java

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

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

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

Installazione o configurazione

Istruzioni dettagliate sull'aggiunta delle dipendenze Camel richieste.


Dipendenza da Maven

Uno dei modi più comuni per includere Apache Camel nella tua applicazione è attraverso una dipendenza Maven. Aggiungendo il blocco delle dipendenze sotto, Maven risolverà le librerie e le dipendenze Camel per te.

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

Gradle

Un altro modo comune per includere Apache Camel nella tua applicazione è attraverso una dipendenza Gradle. Aggiungi semplicemente la linea di dipendenza qui sotto e Gradle importerà la libreria Camel e le sue dipendenze per te.

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

Spring Boot

A partire da Camel 2.15, ora puoi sfruttare la dipendenza Spring Boot di Apache Camel. La differenza con questa libreria Camel è che fornisce una configurazione automatica supponente, incluso il rilevamento automatico delle rotte 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>