Archive

Archives pour 12/2010

La réponse à la Grande Question sur la Vie, les Annotation Processors et le reste…

Introduction

Ne vous êtes-vous jamais demandé si vous utilisiez correctement une annotation ? Certes, pour certains cas comme @Deprecated, il faut vraiment en vouloir pour se tromper en l’utilisant. Mais quid d’un @Transactional ou d’un @AccessRole ? La plupart du temps, on s’attendra à les trouver sur des classes d’un package particulier (*.service), sur des méthodes ayant des paramètres précis, etc.

L'apocalypse des développeurs

Les annotation processors : l'apocalypse des développeurs ?

A l’inverse, on pourrait vouloir savoir comment sont utilisées certaines annotations, pour faire du reporting : quels sont les services auxquels aura accès un utilisateur disposant du droit "admin" ? Dans quelles classes mon framework doit-il injecter mon instance de FooBarPlopDAOImpl ? Brian va-t-il demander Penelope en mariage dans l’épisode 43 de la saison 28 d’Amour, Gloire et Clean Code ?

Autant de problématiques pouvant être résolues (en partie) grâce aux Annotation Processors, fonctionnalité assez peu connue apparue dans le JDK5. Je vous propose dans cet article de pousser un peu l’utilisation des annotations, dans la continuité des présentations faites par Olivier Croisier et d’un non moins génialissime article paru sur le blog Excilys récemment [1].

Lire la suite…

Share

Plugins annotés et chargés dynamiquement en Java

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…

Share