Tag : camel

Par Fabian Piau, le 11 mai 2012

Une première approche du Camel d'Apache

Raphaël Delaporte (@rafdelaporte) nous a proposé de dompter un chameau cette semaine au JUG Nantes.

camel.png

Et ne vous fiez pas à cette photo ! Notre chameau d'informaticien n'est pas un paresseux, bien au contraire ! Retour sur une présentation forte intéressante d'Apache Camel.

Lire la suite
Par Benoît Cotinat, le 22 mars 2011

Sérialisation/Désérialisation XML avec Camel

Je vais présenter ici quelques moyens pour faire de la sérialisation/désérialisation en XML avec Camel, selon différents besoins :

  • mapping "simple" de et/ou vers des pojos java existants ;
  • mapping à partir d'un fichier XSD fourni, ou mapping à partir d'un modèle Java bindé.

Les sources (mavenisées) des exemples sont fournies à la fin de ce billet.

Lire la suite
Par Benoît Cotinat, le 20 février 2011

Comment scanner des répertoires ?

Le besoin de scanner le contenu de répetoires est assez courant, pour analyser des données, nettoyer des répertoires, ... à intervalles réguliers.

Une des réponses à ce problème est de mettre en place des CRON, appelant des classes java. C'est une solution, mais elle n'enlève pas le côté complexe de gestion des fichiers en java, surtout si ceux-ci sont situés sur un répertoire distant.

Or nous aimons les choses simples et bien faites :). Pour cela, la solution que nous avons choisie est d'utiliser Camel.

Cet outil, à la configuration très complète (mais pas complexe !) nous permet de "consommer" (traiter, transférer, ...) des fichiers en utilisant différents composants : "file://" pour un système de fichier local, ou "ftp://" pour attaquer un serveur ftp.
Quelques options de base :

  • possibilité de supprimer ou non le fichier
  • intervalle de temps entre 2 "poll" du répertoire
  • filtrer les fichiers qui seront récupérés sur leur nom

On peut facilement imaginer recopier en local des fichiers présents sur un ftp, avec une route de la forme :

from("ftp://192.168.2.42/folder/")
.beanRef("theBean") // traitement du fichier (ajout/suppression de données ?)
.to("file://C:\tmp");



CRON :

Camel :