Bonjour,
Je vais éviter de m'étendre sur la programmation par aspect car je ne pense pas que des compétences importantes dans ce domaine soient nécessaires pour résoudre mon problème.
Je vous explique rapidement mon utilisation de l'AOP. J'utilise jboss-aop en ce qui concerne le framework et injecte (ce sera plus simple comme cela) le code à loadtime.
> J'ai un jar avec mes aspects (code java normal)
> J'ai un fichier de configuration xml qui contient la description des endroits où je veux injecter les aspects.
> J'ai quelques libs de dépendances.
Grâce à cela, je peux injecter mon code dans un code existant sans avoir à le recompiler en utilisant le loadtime weaving (tissage(injection) au chargement de la classe).
Habituellement, j'ai juste à rajouter mes libs dans le classpath du soft dans lequel j'insère mon code et donner deux arguments (un java agent) à la ligne de commande de lancement. (donc deux options pour la JVM)
Je voudrais maintenant injecter du code dans une appli web qui est déployée sous tomcat. J'ai du mal à savoir comment fonctionne exactement Tomcat au niveau du déploiement de ses applications. Voilà mes questions :
- Tomcat fait il tourner une JVM dans laquelle il alloue un espace pour chacune des applis qu'il déploie ?
- Si vous avez compris mon exemple d'injection, où dois-je donc préciser mon agent java ?
Problème relatif à la deuxième question : Si je dois spécifier à tomcat mes arguments au lancement de tomcat, comment peut il résoudre des chemins d'applis qu'il n'a pas encore déployé ? En effet, mes arguments (le java agent et le fichier xml) font référence au code de l'appli web en spécifiant des noms de classes pleinement qualifiés.
J'attend vos demandes de précisions concernant mon problème car je me doute que ce n'est pas tout à fait clair mais je ne sais par où commencer.
Merci beaucoup par avance.
Alexis
Partager