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, umClassNotFoundExceptions
aufzulösen. DIese Datei enthält die folgenden Daten:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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, umClassNotFoundExceptions
aufzulö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>
<!-- <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 - Sie haben die hibernate.cache.provider_class-Property auskommentiert:
<!-- <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
- 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"/>
<!-- <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 - 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"/>
<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