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 :

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.