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

  1. Retirer le fichier jboss-web.xml

    Retirer le fichier jboss-web.xml du répertoire jboss-seam-jpa.war/WEB-INF/. Le chargement de classe défini dans jboss-web.xml est maintenant le comportement de chargement de classe par défaut.
  2. Supprimer la propriété obsolète du fichier persistence.xml

    Supprimer et dé-commenter la propriété hibernate.cache.provider_class du fichier jboss-seam-jpa.war/WEB-INF/classes/META-INF/persistence.xml :
    <!-- <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/> -->
    
  3. 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épertoire jboss-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
  4. Créer un fichier jboss-deployment-structure auquel ajouter les dépendances restantes

    Créer le fichier jboss-deployment-structure.xml dans le dossier jboss-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.