4.3.2. Migration des Seam 2.2 JPA Beispiels zur JBoss EAP 6

Zusammenfassung

Die folgende Aufgabenliste fasst die Änderungen zusammen, die für die erfolgreiche Migration der Seam 2.2 JPA Beispielanwendung zur JBoss EAP 6 notwendig sind. Sie finden diese Beispielanwendung in der neuesten JBoss EAP 5 Distribution unter EAP5.x_HOME/jboss-eap-5.x/seam/examples/jpa/

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.

Prozedur 4.6. Migration des Seam 2.2 JPA Beispiels

  1. Entfernen Sie die jboss-web.xml-Datei

    Entfernen Sie die jboss-web.xml-Datei aus dem jboss-seam-jpa.war/WEB-INF/-Verzeichnis. Das in jboss-web.xml definierte Klassenladen ist jetzt das Standardverhalten.
  2. Bearbeiten Sie die jboss-seam-jpa.jar/META-INF/persistence.xml-Datei wie folgt.

    1. Entfernen Sie die hibernate.cache.provider_class-Property in der jboss-seam-jpa.war/WEB-INF/classes/META-INF/persistence.xml-Datei oder kommentieren Sie sie aus:
      <!-- <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/> -->
    2. Fügen Sie die Provider Modul Property zur jboss-seam-booking.jar/META-INF/persistence.xml Datei hinzu:
      <property name="jboss.as.jpa.providerModule" value="hibernate3-bundled" />
    3. Ändern Sie die jta-data-source Property, damit sie den standardmäßigen JDBC Datenquellen JNDI Namen benutzt:
      <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
  3. Fügen Sie die Seam 2.2 Abhängigkeiten hinzu

    Kopieren Sie die folgenden JARs aus der Seam 2.2 Distributionsbibliothek, SEAM_HOME/lib/ und in das jboss-seam-jpa.war/WEB-INF/lib/-Verzeichnis:
    • antlr.jar
    • slf4j-api.jar
    • slf4j-log4j12.jar
    • hibernate-entitymanager.jar
    • hibernate-core.jar
    • hibernate-annotations.jar
    • hibernate-commons-annotations.jar
    • hibernate-validator.jar
  4. Erstellen Sie eine jboss-deployment-structure-Datei zur Hinzufügung der übrigen Abhängigkeiten

    Erstellen Sie eine jboss-deployment-structure.xml-Datei im jboss-seam-jpa.war/WEB-INF/-Ordner, die die folgenden Daten enthält:
    <jboss-deployment-structure>
       <deployment>
            <exclusions>
              <module name="javax.faces.api" slot="main"/>
              <module name="com.sun.jsf-impl" slot="main"/>
              <module name="org.hibernate" slot="main"/>
            </exclusions>
            <dependencies>
              <module name="org.apache.log4j" />
              <module name="org.dom4j" />
              <module name="org.apache.commons.logging" />
              <module name="org.apache.commons.collections" />
              <module name="javax.faces.api" slot="1.2"/>
              <module name="com.sun.jsf-impl" slot="1.2"/>
            </dependencies>
        </deployment>
    </jboss-deployment-structure>
Ergebnis:

Die Seam 2.2 JPA Beispielanwendung deployt und läuft nun auf der JBoss EAP 6.