Apache Camel to platforma, która przede wszystkim ułatwia rozwiązywanie problemów związanych z integracją przedsiębiorstwa. U podstaw można go uważać za konstruktora silnika do rutowania. Zasadniczo pozwala łączyć systemy (punkty końcowe) za pomocą tras. Te trasy akceptują wiadomości, które mogą być dowolnego typu danych.
Platforma Apache Camel zawiera również pełny zestaw EIP (wzorce integracji korporacyjnej), takie jak rozdzielacz, agregatory, routing oparty na zawartości i tak dalej. Ponieważ środowisko może być wdrażane w różnych niezależnych aplikacjach Java, na różnych serwerach aplikacji, takich jak WildFly i Tomcat lub na w pełni rozwiniętej magistrali usług korporacyjnych, może być postrzegane jako środowisko integracyjne.
Aby rozpocząć pracę z frameworkiem, musisz dodać go do projektu, używając jednej z następujących metod:
Camel's DSL (Domain Specific Language) to jedna z funkcji, która wyróżnia Camela na tle innych platform integracyjnych. Podczas gdy niektóre inne frameworki zawierają również koncepcję DSL, zwykle w postaci pliku XML, DSL zawsze była językiem niestandardowym.
Camel oferuje wiele DSL w językach programowania, takich jak Java, Scala, Groovy, oraz w XML.
Na przykład prostą trasę kopiowania pliku można wykonać na różne sposoby, jak pokazano na poniższej liście
Java DSL
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"
Szczegółowe instrukcje dotyczące dodawania wymaganych zależności Camel.
Jednym z najczęstszych sposobów włączenia Apache Camel do aplikacji jest zależność od Maven. Dodając poniższy blok zależności, Maven rozwiąże biblioteki wielbłądów i zależności dla Ciebie.
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
<version>2.17.3</version>
</dependency>
Innym powszechnym sposobem włączenia Apache Camel do aplikacji jest zależność Gradle. Po prostu dodaj poniższą linię zależności, a Gradle zaimportuje dla ciebie bibliotekę wielbłądów i jej zależności.
// https://mvnrepository.com/artifact/org.apache.camel/camel-core
compile group: 'org.apache.camel', name: 'camel-core', version: '2.17.3'
Od wersji 2.15 Camela możesz teraz wykorzystać zależność Apache Camel Spring Boot. Różnica w stosunku do tej biblioteki wielbłądów polega na tym, że zapewnia ona automatyczną konfigurację, w tym automatyczne wykrywanie tras wielbłądów.
<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>