Archive

Posts Tagged ‘glassfish’

Glassfish V3 / JEE6 / Ear modulaire

4 février 2011 Laisser un commentaire

Lors de mon dernier projet JEE6 avec glassfish V3, j’ai été confronté à un problème de compréhension sur la structure d’un ear.
J’avais une structure modulaire avec plusieurs jars ejb gérés avec JPA.
Pour être conforme avec la norme, et pour faire simple, j’ai donc adopté la structure suivante :
– ear\
—- stateless_ejb1.jar
—- stateless_ejb2.jar
—- META-INF\
—————– application.xml
—- lib\
———- log4j.jar

Et maintenant où placer le fichier persistence.xml ?

Il faut que le persistence-unit soit commun à tous mes ejbs. J’ai tout de suite pensé au répertoire META-INF de l’ear mais j’ai appris qu’il est ignoré dans la recherche du persistence.xml.
J’ai tenté de mettre le fichier dans un nouveau projet ejb, mais il n’était pas visible des autres projets ejbs.
La solution a été de packager le fichier persistence.xml dans un jar persistence.jar (ce jar contient seulement un répertoire META-INF et à l’intérieur le fichier persistence.xml) et de mettre ce fichier dans le répertoire lib de l’ear.

Ce qui donne :
– ear\
—- stateless_ejb1.jar
—- stateless_ejb2.jar
—- META-INF\
—————– application.xml
—- lib\
———- persistence.jar
———- log4j.jar

Vive la modularité….

Catégories :Java / JEE Étiquettes : , , , , , ,