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.xml
dans le répertoireMETA-INF/
du EAR. Vous avez ajouté<dependencies>
et<exclusions>
pour résoudreClassNotFoundExceptions
. Ce fichier contient les données suivantes :Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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.xml
comme suit.- Vous avez changé l'élément
jta-data-source
pour 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>
<!-- <jta-data-source>java:/bookingDatasource</jta-data-source> --> <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Vous avez dé-commenté la propriété hibernate.cache.provider_class :
<!-- <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/> -->
<!-- <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/> -->
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- Vous avez modifié les fichiers
lib/components.xml
du WAR pour utiliser les nouvelles liaisons JNDI- Vous avez remplacé l'élément existant
core:init
comme 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"/>
<!-- <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"/>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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"/>
<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"/>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow