4.3.2. Migración del ejemplo Seam 2.2 JPA a JBoss EAP 6

Resumen

La siguiente lista de tareas resume los cambios necesarios para migrar exitosamente la aplicación de ejemplo de Seam 2.2 JPA a JBoss EAP 6. Esta aplicación de ejemplo se puede encontrar en la última distribución de JBoss EAP 5 bajo EAP5.x_HOME/jboss-eap-5.x/seam/examples/jpa/

Importante

Las aplicaciones que usan Hibernate directamente con Seam 2.2 pueden usar una versión de Hibernate 3 empacada dentro de la aplicación. Hibernate 4, el cual se proporciona a través del módulo org.hibernate de JBoss EAP 6 no es soportado por parte de Seam 2.2. Este ejemplo tiene el propósito de ayudarle a empezar a ejecutar su JBoss EAP 6 como primer paso. Tenga en cuenta que el empacar Hibernate 3 con una aplicación Seam 2.2 no es una configuración soportada.

Procedimiento 4.6. Migración del ejemplo Seam 2.2 JPA

  1. Borre el archivo jboss-web.xml

    Borre el archivo jboss-web.xml del directorio jboss-seam-jpa.war/WEB-INF/. La carga de clases definida en el jboss-web.xml ahora es el comportamiento predeterminado.
  2. Modifique el archivo jboss-seam-jpa.jar/META-INF/persistence.xml así:

    1. Remueva o borre el comentario de la propiedad hibernate.cache.provider_class en el archivo jboss-seam-jpa.war/WEB-INF/classes/META-INF/persistence.xml:
      <!-- <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/> -->
    2. Agregue la propiedad del módulo proveedor al archivo jboss-seam-booking.jar/META-INF/persistence.xml:
      <property name="jboss.as.jpa.providerModule" value="hibernate3-bundled" />
    3. Cambie la propiedad jta-data-source para utilizar el nombre JNDI de la fuente de datos JDBC predeterminada:
      <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
  3. Agregar dependencias Seam 2.2

    Copie las siguientes JARs de la biblioteca de la distribución Seam 2.2, SEAM_HOME/lib/, en el directorio jboss-seam-jpa.war/WEB-INF/lib/:
    • 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. Cree un archivo jboss-deployment-structure para agregar las dependencias que faltan

    Cree un archivo jboss-deployment-structure.xml en la carpeta jboss-seam-jpa.war/WEB-INF/ que contenga los siguientes datos:
    <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>
Resultado:

La aplicación de ejemplo Seam 2.2 JPA implementa y ejecuta de manera exitosa en JBoss EAP 6.