Tutoriel Camel : votre première route Camel

Mettez en oeuvre votre premier scénario d’intégration avec Apache Camel. Identifiez les librairies Camel nécessaire à la compilation et l’exécution de votre programme. Créez un contexte Camel. Créez une Route Camel à partir d’une fabrique ’RouteBuilder’. Ajoutez dans votre contexte camel cette Route. Enfin démarrez le Contexte Camel.

Prérequis

- TP : installation d’Apache Camel

Programme

- Scénario d’intégration : copie de fichier
- Partie 1 : mise en oeuvre en Java sans Maven
- Partie 2 : mise en oeuvre en Java avec Maven
- Partie 3 : comprendre le langage ’Simple Langage’

Durée

- 15 min

Scénario d’intégration

- BESOIN : le dépot d’un fichier dans un répertoire ’in’ entraîne la copie de ce fichier dans un répertoire ’out’, sans modification du fichier.

Au départ, nous avont un dossier c :\dev\camel\in qui contient un fichier ’doc.TXT’

PNG - 2.2 ko
tutoriel-apache-camel-premiere-route-0

et un répertoire qui ne contient rien

PNG - 1.7 ko
tutoriel-apache-camel-premiere-route-0-out

Avec Camel nous allons mettre en oeuvre un programme qui va scruter le répertoire ’in’ et systématiquement prendre tout fichier qui s’y trouve afin de le mettre dans ’out’

Partie 1 : mise en oeuvre en JAVA sans Maven

- Créez avec Eclipse un projet java ’demoCamel’

- Créez un répertoire lib

- Ajoutez dans le répertoire lib la librairie CAMEL_HOME/lib/camel-core-x.x.x.jar (ici camel-core-2.17.0.jar)

Ce jar est la librairie centrale de Camel. Il est nécessaire pour toute application qui utilise Camel.

codage

- Analysez le code suivant et expliquez le résultat du lancement

PNG - 48 ko
tutoriel-apache-camel-premiere-route-1

- Téléchargez la librairie SL4J.

- Dézippez

- Ajoutez dans le projet les jars ’api’ et l’implémentation ’simple’

PNG - 12.3 ko
tutoriel-apache-camel-premiere-route-1bis

- Lancez l’application

PNG - 64.2 ko
tutoriel-apache-camel-premiere-route-2

- Analysez désormais le contenu du répertoire d’entrée

PNG - 5.2 ko

- Expliquez. Que contient le dossier ’.camel’ ?

- Analysez également le contenu du répertoire de sortie

PNG - 4.7 ko

- Expliquez.

CORRECTION : projet Eclipse

Zip - 2.9 Mo
demoCamel

PERSONNALISATION DU COMPOSANT

QUESTION 1 : comment faire pour que le fichier copié ne soit pas sauvegardé dans le répertoire ’.camel’ ? Utiliser la documentation du composant camel ’file’

QUESTION 2 : En supposant qu’il y ait dans le répertoire des fichier .txt et .xml, comment faire en sorte que suels les fichiers XML soient copiés ? Utiliser la documentation du composant ’file’

QUESTION 3 : proposez une autre personnalisation de la configuration de ce scénario.

Partie 2 : mise en œuvre en Java avec Maven

A partir des deux liens suivants (génération projet maven, et route camel spring) , expliquez la ligne de commande suivante :

mvn archetype:generate -B -DarchetypeGroupId=org.apache.camel.archetypes -DarchetypeArtifactId=camel-archetype-java -DarchetypeVersion=1.5.0 -DgroupId=com.objis -DartifactId=democameljava -Dversion=1.0-SNAPSHOT

texte - 214 octets
commande-maven-generate-camel-java

- Analysez la sortie :

Zip - 4.7 ko
democamelJava

- 

Analysez l’arborescence et expliquez

PNG - 2.4 ko
tutoriel-camel-java-1

- 

messages

PNG - 2.7 ko
tutoriel-camel-java-2

- 

PNG - 6.8 ko
tutoriel-camel-java-6

route java

PNG - 3.2 ko
tutoriel-camel-java-3

- 

PNG - 37.1 ko
tutoriel-camel-java-5

- expliquez

exécution

PNG - 57.5 ko
tutoriel-camel-java-7

- Expliquez

- Lancez la commande : mvn package exec:java

PNG - 195.6 ko
tutoriel-apache-camel-premiere-route-maven-demo

- Que s’est-il passé ?

A VOUS DE JOUER : Adaptez le projet pour avoir avec maven le même rendu que dans la partie 1

Comprendre Simple Language

En utilisant la documentation du Simple Langage, expliquez le code suivant :

PNG - 33.6 ko
file-simple-langage

Téléchargez le projet et testez :

Zip - 1.9 Mo
demoCamel-v2

Conclusion

Vous avez mis en oeuvre votre première route Camel en utilisant 2 approches : JAVA et XML.