Notre IDE préféré possède en effet cette petite feature, ma foi fort sympathique, pour la recherche de fichier.
Auteur
Benoît Cotinat
[Eclipse] Recherche camelCase
[JMeter] Création et exécution de jeu de test
JMeter est un outil open-source permettant de faire des tests fonctionnels, ainsi que des tests de montée en charge d'applications web.
Sa configuration n'étant pas très intuitive, nous allons voir dans ce billet comment :
1- Enregistrer un jeu de test ;
2- Placer des assertions ;
3- Jouer le jeu de test.
Vous trouverez à la fin de ce billet le plan de test d'exemple qui a servi à sa rédaction.
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.
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 :
- http://camel.apache.org/
- avec son indispensable page des composants : http://camel.apache.org/components.html
[Spring] Gestion des propriétés et des messages
Dans ce billet je vais faire un rapide aperçu d'une des manières de gérer les messages et les propriétés d'un projet avec Spring.
[Hibernate] - Persistance de types personnalisés
Dans ce billet, nous allons voir comment Hibernate nous permet simplement, et de façon transparente, de persister des types Java qui ne sont pas gérés nativement par la base de données. Nous verrons aussi l'utilisation avec JPA.
[Nantes JUG] - 25 novembre 2010 - Soirée RIA : Flex, HTML5
En tant que partenaire du JUG (Java User Group) de Nantes, Netapsys vous invite à la conférence du jeudi 25 novembre 2010, de 19h à 21h, à l'école des Mines de Nantes. Elle sera animée par François Le Droff, d'Adobe France.
[Spring Security] Authentification LDAP + autorisations BDD
Ce besoin est assez courant dans le développement d'applications : les utilisateurs sont présents dans un annuaire général, et c'est à chaque application de gérer ses droits d'accès. La documentation de Spring Security explique bien le fonctionnement général du framework, mais décrit principalement les cas nominaux que sont le "tout LDAP" et le "tout BDD". Je vais montrer ici les quelques points de configuration nécessaires afin de mélanger ces deux aspects.
Générer le diagramme de séquence de votre application
Nous allons voir l'utilisation, avec tomcat, de jtracert, outil géré par Google permettant de générer le diagramme de séquence d'une application Java, en fonction de votre navigation sur celle-ci.
[Eclipse] Working set
Petit point sur une notion d'eclipse : les "working set". Cela permet de créer nos propres environnements de travail au sein de l'IDE, en filtrant les éléments voulus (et donc enlever, entre autre, le répertoire "target"). Ils sont utilisés dans plusieurs recherches et vues.