4.3.2. Migrer l'Exemple Seam 2.2 JPA dans JBoss Enterprise Application Platform 6
Résumé
La liste de tâches suivantes récapitule les changements nécessaires pour pouvoir migrer l'exemple d'application Seam 2.2 JPA dans JBoss Enterprise Application Platform 6. Cet exemple d'application se trouve dans la distribution JBoss Enterprise Application Platform 5.1 dans EAP5.1_HOME/jboss-eap-5.1/seam/examples/jpa/
Important
Les applications qui utilisent directement Hibernate avec Seam 2.2 peuvent utiliser une version d'Hibernate 3 qui se trouve à l'intérieur de l'application. Hibernate 4, qui est fourni par le module org.hibernate de JBoss Enterprise Application Platform 6, n'est pas pris en charge par Seam 2.2. Cet exemple a pour but de vous aider à exécuter votre application dans JBoss Enterprise Application Platform 6 pour commencer. Sachez que packager Hibernate 3 avec une application Seam 2.2 n'est pas une configuration prise en charge.
Procédure 4.12. Migration de l'exemple Seam 2.2 JPA Booking
Retirer le fichier jboss-web.xml
Retirer le fichierjboss-web.xml
du répertoirejboss-seam-jpa.war/WEB-INF/
. Le chargement de classe défini dansjboss-web.xml
est maintenant le comportement de chargement de classe par défaut.Supprimer la propriété obsolète du fichier persistence.xml
Supprimer et dé-commenter la propriétéhibernate.cache.provider_class
du fichierjboss-seam-jpa.war/WEB-INF/classes/META-INF/persistence.xml
:<!-- <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/> -->
Ajouter les dépendances Seam 2.2
Copier les JAR suivantes de la bibliothèque de la distro Seam 2.2,SEAM_HOME/lib/
, dans le répertoirejboss-seam-jpa.war/WEB-INF/lib/
:- slf4j-api.jar
- slf4j-log4j12.jar
- hibernate-entitymanager.jar
- hibernate-core.jar
- hibernate-annotations.jar
- hibernate-commons-annotations.jar
- hibernate-validator.jar
Créer un fichier jboss-deployment-structure auquel ajouter les dépendances restantes
Créer le fichierjboss-deployment-structure.xml
dans le dossierjboss-seam-jpa.war/WEB-INF/
contenant les informations suivantes :<jboss-deployment-structure> <deployment> <exclusions> <module name="javax.faces.api" slot="main"/> <module name="com.sun.jsf-impl" slot="main"/> </exclusions> <dependencies> <module name="org.apache.log4j" /> <module name="org.dom4j" /> <module name="org.apache.commons.logging" /> <module name="org.apache.commons.collections" /> <module name="javax.faces.api" slot="1.2"/> <module name="com.sun.jsf-impl" slot="1.2"/> </dependencies> </deployment> </jboss-deployment-structure>
Résultat :
L'exemple d'application Seam 2.2 JPA déploie et exécute avec succès sur JBoss Enterprise Application Platform 6.