février
2007
Le portail SDN a publié un article qui met en évidence le gain obtenu avec l’injection de ressource via les annotations dans Java EE 5. En effet, dans une application Java EE, l’accès aux ressources via JNDI est assez lourd, puisqu’il oblige à manipuler l’API de JNDI en gérant le casting et les NamingExceptions…
Un code rébarbatif et assez loin de la logique métier du développeur, mais les annotations permettent de simplifier cela de manière élégante…
Ainsi, pour initialiser un simple attribut :
private DataSource catalogDS;
il faut actuellement écrire le code suivant pour gérer l’accès à JNDI :
try {
// Obtention du contexte JNDI :
InitialContext initCtx = new InitialContext();
// Recherche de la resource :
catalogDS = (DataSource) initCtx.lookup("java:comp/env/jdbc/catalogDS");
} catch (NamingException ex) {
// Gestion des erreurs...
}
En utilisant les « Common annotations » (JSR 250, qui devraient être intégrés dans Java SE 6), il est désormais possible de laisser cette tâche fastidieuse au serveur d’applications, ce qui nous donnerais tout simplement :
private @Resource DataSource catalogDS;
L’attribut étant initialisé correctement lors de la création de l’objet…
Je vous invite à découvrir cela plus en détail : A Look at Resource Injection
Tutoriels
Discussions
- Définition exacte de @Override
- [ fuite ] memoire
- Possibilité d'accéder au type générique en runtime
- Recuperation du nom des parametres
- Difference de performances Unix/Windows d'un programme?
- jre 1.5, tomcat 6.0 et multi processeurs
- Classes, méthodes private
- L'apparition du mot-clé const est-il prévu dans une version à venir du JDK?
- [REFLEXION] Connaitre toutes les classes qui implémentent une interface