4.3.2. Migrer l'exemple Seam 2.2 dans JBoss EAP 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 EAP 6. Cet exemple d'application se trouve dans la dernière distribution JBoss EAP dans EAP5.x_HOME/jboss-eap-5/seam/examples/jpa/
Important
Les applications qui utilisent Hibernate directement avec Seam 2.2 utilisent sans doute une version d'Hibernate 3 empaquetée dans l'application. Hibernate 4, fourni par le module org.hibernate de JBoss EAP 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 EAP 6 comme première étape. Notez qu'empaqueter Hibernate 3 avec une application Seam 2.2 n'est pas une configuration prise en charge.
Procédure 4.6. Migration de l'exemple Seam 2.2 JPA Booking
Retirer le fichier jboss-web.xml
Retirer le fichierjboss-web.xmldu répertoirejboss-seam-jpa.war/WEB-INF/. Le chargement de classe défini dansjboss-web.xmlest maintenant le comportement de chargement de classe par défaut.Modifier le fichier
jboss-seam-jpa.jar/META-INF/persistence.xmlcomme suit.- Supprimer et dé-commenter la propriété
hibernate.cache.provider_classdu fichierjboss-seam-jpa.war/WEB-INF/classes/META-INF/persistence.xml:<!-- <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/> -->
- Ajouter la propriété de module du fournisseur dans le fichier
jboss-seam-booking.jar/META-INF/persistence.xml:<property name="jboss.as.jpa.providerModule" value="hibernate3-bundled" />
- Modifier la propriété
jta-data-sourcepour utiliser le nom JNDI de la source de données JDBC par défaut :<jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
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/:- antlr.jar
- 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.xmldans 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"/> <module name="org.hibernate" 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 EAP 6.