Show Table of Contents
4.3.8. Récapitulatif des changements à effectuer lors d'une Migration de l'application Seam 2.2 Booking
Bien que ce serait beaucoup plus efficace de déterminer à l'avance les dépendances et ajouter les dépendances implicites en une seule étape, cet exercice montre comment les problèmes apparaissent dans le journal et donne des informations sur la façon de les déboguer et de les résoudre. Ce qui suit est un résumé des modifications apportées à la demande lors de sa migration vers JBoss EAP 6.
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.
- Vous avez créé un fichier
jboss-deployment-structure.xmldans le répertoireMETA-INF/du EAR. Vous avez ajouté<dependencies>et<exclusions>pour résoudreClassNotFoundExceptions. Ce fichier contient les données suivantes :<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0"> <deployment> <dependencies> <module name="javax.faces.api" slot="1.2" export="true"/> <module name="com.sun.jsf-impl" slot="1.2" export="true"/> <module name="org.apache.commons.logging" export="true"/> <module name="org.dom4j" export="true"/> <module name="org.apache.commons.collections" export="true"/> </dependencies> </deployment> <sub-deployment name="jboss-seam-booking.war"> <exclusions> <module name="javax.faces.api" slot="main"/> <module name="com.sun.jsf-impl" slot="main"/> </exclusions> <dependencies> <module name="javax.faces.api" slot="1.2"/> <module name="com.sun.jsf-impl" slot="1.2"/> </dependencies> </sub-deployment> </jboss-deployment-structure> - Vous avez copié les JAR suivants du répertoire
EAP5_HOME/jboss-eap-5.X/seam/lib/(remplacer 5.X par la version EAP 5 à partir de laquelle vous allez migrer) dans le répertoirejboss-seam-booking.ear/lib/afin de résoudreClassNotFoundExceptions:- hibernate-core.jar
- hibernate-validator.jar
- Vous avez modifié le fichier
jboss-seam-booking.jar/META-INF/persistence.xmlcomme suit.- Vous avez changé l'élément
jta-data-sourcepour qu'il utilise la base de données Exemple fourni dans JBoss EAP 6 :<!-- <jta-data-source>java:/bookingDatasource</jta-data-source> --> <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
- Vous avez dé-commenté la propriété hibernate.cache.provider_class :
<!-- <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/> -->
- Vous avez modifié les fichiers
lib/components.xmldu WAR pour utiliser les nouvelles liaisons JNDI- Vous avez remplacé l'élément existant
core:initcomme suit :<!-- <core:init jndi-pattern="jboss-seam-booking/#{ejbName}/local" debug="true" distributable="false"/> --> <core:init jndi-pattern="java:app/jboss-seam-booking.jar/#{ejbName}" debug="true" distributable="false"/> - Vous avez ajouté des éléments de composants pour les liaisons JNDI "EjbSynchronizations" et les liaisons JNDI "TimerServiceDispatcher".
<component class="org.jboss.seam.transaction.EjbSynchronizations" jndi-name="java:app/jboss-seam/EjbSynchronizations"/> <component class="org.jboss.seam.async.TimerServiceDispatcher" jndi-name="java:app/jboss-seam/TimerServiceDispatcher"/>

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.