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.
  1. Sie haben eine jboss-deployment-structure.xml-Datei im META-INF/-Verzeichnis des EAR erstellt. Sie haben <dependencies> und <exclusions> hinzugefügt, um ClassNotFoundExceptions aufzulö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>
    
    Copy to Clipboard Toggle word wrap
  2. 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 das jboss-seam-booking.ear/lib/-Verzeichnis kopiert, um ClassNotFoundExceptions aufzulösen:
    • hibernate-core.jar
    • hibernate-validator.jar
  3. Sie haben die jboss-seam-booking.jar/META-INF/persistence.xml-Datei wie folgt bearbeitet.
    1. 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>
      
      Copy to Clipboard Toggle word wrap
    2. Sie haben die hibernate.cache.provider_class-Property auskommentiert:
      <!-- <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/> -->
      
      Copy to Clipboard Toggle word wrap
  4. Sie haben die lib/components.xml-Datei des WAR bearbeitet, damit sie die neuen JNDI-Bindings verwendet
    1. 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"/>
      
      Copy to Clipboard Toggle word wrap
    2. 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"/>
      
      Copy to Clipboard Toggle word wrap
Nach oben
Red Hat logoGithubredditYoutubeTwitter

Lernen

Testen, kaufen und verkaufen

Communitys

Über Red Hat Dokumentation

Wir helfen Red Hat Benutzern, mit unseren Produkten und Diensten innovativ zu sein und ihre Ziele zu erreichen – mit Inhalten, denen sie vertrauen können. Entdecken Sie unsere neuesten Updates.

Mehr Inklusion in Open Source

Red Hat hat sich verpflichtet, problematische Sprache in unserem Code, unserer Dokumentation und unseren Web-Eigenschaften zu ersetzen. Weitere Einzelheiten finden Sie in Red Hat Blog.

Über Red Hat

Wir liefern gehärtete Lösungen, die es Unternehmen leichter machen, plattform- und umgebungsübergreifend zu arbeiten, vom zentralen Rechenzentrum bis zum Netzwerkrand.

Theme

© 2025 Red Hat