Attention : cet atricle n’est pas un atricle sur le cyclimse.[?]
Introduction
Je suis un geek. Comme tout bon geek qui se respecte, mes activités extra-professionnelles incluent entre autre des jeux vidéo et de la programmation (tard le soir en buvant un soda quelconque). Alors quand je peux mélanger deux activités favorites entre elles, c’est chouette. Etant fan de Trackmania Nations, il m’arrive de fouiner dans toute source d’information qui s’y rapporte.
C’est ainsi que j’ai appris que le serveur dédié TrackMania peut être contrôlé à distance par des appels XML-RPC. Evidemment, tout ça me donne envie d’ouvrir mon IDE favori pour faire un HelloWorld en Java et voir un peu les possibilités.
Le HelloWorld ayant évolué un peu plus que je ne l’avais initialement prévu, il s’est vu doté d’un système de plugins chargés dynamiquement (parce que j’avais envie d’explorer ce domaine depuis un certain temps déjà).
Assez raconté ma life, je vais maintenant vous faire part de mes réflexions relatives à la mise en place d’un système de plugins sous forme de JARs, pouvant être chargés/déchargés au runtime, et utilisant des annotations personnalisées.
Lire la suite…
Introduction
Comme une grande partie des lecteurs de ce blog, vous avez certainement déjà travaillé sur des applications web Java EE de taille variable, sur lesquelles vous avez fait un nombre indécent de redéploiements à chaque fois que vous vouliez valider des modifications fraîchement apportées. Puis vous avez dû découvrir que depuis Java 1.4, la JVM permet de faire du Hotswap en mode debug, c’est-à-dire de remplacer du code à la volée au runtime.
Lire la suite…
Introduction
Comme beaucoup de lecteurs de ce blog, j’utilise un IDE au quotidien. Sur mon projet actuel, c’est Eclipse combiné à un serveur Websphere. Pour des raisons pratiques, je fais un tail -f des logs du serveur dans la console d’Eclipse, et qui dit serveur d’applications Java + logs en niveau DEBUG dit énormément d’informations à scanner pour trouver ce qui m’intéresse réellement (quelques Mo de logs par jour !). Lire la suite…
Introduction
Dans cet article, je vous propose quelque chose d’assez différent des sujets abordés habituellement. En lisant du code écrit par d’autres développeurs, je suis resté perplexe sur quelques méthodes. Après les avoir relues quelques fois, la façon d’écrire m’a fait sourire, comme quoi d’un développeur à l’autre les méthodes de réflexion et d’écriture de code varient fortement.
Je vous propose donc quelques extraits de code méritant le détour, ça donne des snippets assez drôles, cherchez l’erreur !
Lire la suite…
Introduction

Suite à la mise en place d’un environnement de développement Flex en Open Source, je vous propose aujourd’hui de simplifier l’utilisation de BlazeDS grâce à Spring BlazeDS Integration (Spring-flex).
La description suivante, traduite de l’introduction faite sur le site officiel, résume bien les buts recherchés :
Spring BlazeDS Integration est une réponse à une demande de la communauté qui souhaitait avoir une solution pour construire des RIA propulsées par Spring, utilisant Adobe Flex pour la technologie client. [...] Bien qu’il était possible d’utiliser BlazeDS pour se connecter à des services gérés par Spring, ce n’était pas réalisable de manière “naturelle” pour un développeur Spring, nécessitant d’avoir à maintenir une configuration XML BlazeDS séparée. Spring BlazeDS Integration change tout cela en transformant le MessageBroker de BlazeDS en un objet géré par Spring, ouvrant des perspectives vers une intégration plus complète qui suit le “Spring way”.
Dans cet article, nous allons voir les principes de base de Spring BlazeDS Integration : configuration, exposition des services et consommation par un client Flex. Un projet est réalisé en parallèle pour illustrer la théorie ; les exemples de code suivant en sont tirés. Le code source final est disponible à la fin de cet article. Si vous n’avez pas encore lu le précédent article, je vous invite à le faire car il explique de nombreuses notions qui seront réutilisées ici. Lire la suite…