Show Table of Contents
4.3.8. Übersicht über eine Zusammenfassung von Änderungen bei der Migration der Seam 2.2 Booking Application
Obwohl es wesentlich effizienter wäre Abhängigkeiten im Voraus zu bestimmen und die impliziten Abhängigkeiten in einem Schritt hinzuzufügen, so zeigt diese Übung, wie Probleme im Protokoll erscheinen und liefert Informationen wie diese behoben werden können. Nachfolgend sehen Sie eine Zusammenfassung der Änderungen an der Applikation bei der Migration zur JBoss EAP 6.
Wichtig
Applikationen, die Hibernate direkt mit Seam 2.2 verwenden, können eine innerhalb der Applikation gepackte Version von Hibernate 3 verwenden. Hibernate 4, welches mittels des org.hibernate Moduls der JBoss EAP 6 bereitgestellt wird, wird von Seam 2.2 nicht unterstützt. Dieses Beispiel soll Ihnen dabei helfen, Ihre Applikation auf der JBoss EAP 6 in Betrieb zu nehmen. Bitte beachten Sie, dass das Packen von Hibernate 3 mit einer Seam 2.2 Applikation keine unterstützte Konfiguration ist.
- Sie haben eine
jboss-deployment-structure.xml-Datei imMETA-INF/-Verzeichnis des EAR erstellt. Sie haben<dependencies>und<exclusions>hinzugefügt, umClassNotFoundExceptionsaufzulösen. DIese Datei enthält die folgenden Daten:<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> - Sie haben die folgenden JARs aus dem
EAP5_HOME/jboss-eap-5.X/seam/lib/-Verzeichnis (ersetzen Sie dabei 5.X durch die Version der EAP 5, von der Sie migrieren) in dasjboss-seam-booking.ear/lib/-Verzeichnis kopiert, umClassNotFoundExceptionsaufzulösen:- hibernate-core.jar
- hibernate-validator.jar
- Sie haben die
jboss-seam-booking.jar/META-INF/persistence.xml-Datei wie folgt bearbeitet.- Sie haben das
jta-data-source-Element geändert, damit es die mit der JBoss EAP 6 gelieferte Beispieldatenbank verwendet:<!-- <jta-data-source>java:/bookingDatasource</jta-data-source> --> <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
- Sie haben die hibernate.cache.provider_class-Property auskommentiert:
<!-- <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/> -->
- Sie haben die
lib/components.xml-Datei des WAR bearbeitet, damit sie die neuen JNDI-Bindings verwendet- Sie haben das bestehende
core:init-Element wie folgt ersetzt:<!-- <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"/> - Sie haben Komponentenelemente für die "EjbSynchronizations" und "TimerServiceDispatcher" JNDI-Bindings hinzugefügt.
<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.