4.3.2. Migração da Amostra Seam 2.2 JPA para o JBoss EAP 6
Sumário
A seguinte tarefa resume as alterações necessárias para a migração com êxito do aplicativo de amostra do Seam 2.2 JPA ao JBoss EAP 6. Este aplicativo de amostra pode ser encontrado na mais recente distribuição do JBoss EAP 5 sob EAP5.x_HOME/jboss-eap-5.x/seam/examples/jpa/
Importante
Os aplicativos que usam o Hibernate diretamente com o Seam 2.2 podem usar a versão do Hibernate 3 empacotados dentro do aplicativo. O Hibernate 4, que é fornecido através do módulo org.hibernate do JBoss EAP 6, não é suportado pelo Seam 2.2. Esta amostra possui por intenção ajudá-lo executar o seu aplicativo no JBoss EAP 6 como primeira etapa. Lembre-se de que o empacotamento do Hibernate 3 com o aplicativo Seam 2.2 não é uma configuração suportada.
Procedimento 4.6. Migração da amostra Seam 2.2 JPA
Remoção do arquivo jboss-web
Remova o arquivojboss-web.xmldo diretóriojboss-seam-jpa.war/WEB-INF/. O carregamento da classe definido nojboss-web.xmlé agora o comportamento default.Modificação do arquivo
jboss-seam-jpa.jar/META-INF/persistence.xmlconforme abaixo.- Remova ou comente a propriedade
hibernate.cache.provider_classno arquivojboss-seam-jpa.war/WEB-INF/classes/META-INF/persistence.xml:<!-- <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/> -->
- Adicione a propriedade do módulo do provedor ao arquivo
jboss-seam-booking.jar/META-INF/persistence.xml:<property name="jboss.as.jpa.providerModule" value="hibernate3-bundled" />
- Altere a propriedade
jta-data-sourcepara uso do nome JNDI da fonte de dados JDBC:<jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
Adição das dependências Seam 2.2
Copie os seguintes JARs da biblioteca Seam 2.2,SEAM_HOME/lib/, ao diretóriojboss-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
Criação de um arquivo jboss-deployment-structure para adicionar as dependências restantes
Crie um arquivojboss-deployment-structure.xmlna pastajboss-seam-jpa.war/WEB-INF/contendo os seguintes dados:<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:
O aplicativo da amostra Seam 2.2 implanta e executa com êxito no JBoss EAP 6.