4.3.8. Revisão do Sumário das Alterações Feitas Quando Migrando o Aplicativo Seam 2.2 Booking
Embora seja mais eficiente determinar previamente as dependências e adicionar as dependências implícitas em uma única etapa, essa prática mostra como os problemas aparecem no log e fornece informações sobre como depurá-los e resolvê-los. Segue abaixo um sumário das alterações feitas ao aplicativo quando migrando-o para o JBoss EAP 6.
Importante
Os aplicativos que usam Hibernate diretamente com Seam 2.2 podem usar uma versão do Hibernate 3 empacotada 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. Este exemplo tem a intenção de ajudá-lo a executar o seu aplicativo no JBoss EAP 6 como um primeiro passo. Observe que o empacotamento do Hibernate 3 com um aplicativo Seam 2.2 não possui uma configuração suportada.
- Você criou um arquivo
jboss-deployment-structure.xmlno diretórioMETA-INF/EAR.<dependencies>e<exclusions>foram adicionadas para resolverClassNotFoundExceptions. Este arquivo contém os seguintes dados:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Os seguintes JARs foram copiados do diretório
EAP5_HOME/jboss-eap-5.X/seam/lib/(substitua 5.X pela versão do EAP 5 da qual você está migrando) para o diretóriojboss-seam-booking.ear/lib/para resolverClassNotFoundExceptions:- hibernate-core.jar
- hibernate-validator.jar
- O arquivo
jboss-seam-booking.jar/META-INF/persistence.xmlfoi modificado como a seguir.- O elemento
jta-data-sourcefoi alterado para usar o banco de dados do exemplo que é enviado junto com o JBoss EAP 6:<!-- <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 - A propriedade hibernate.cache.provider_class foi convertida em comentário:
<!-- <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
- O arquivo
lib/components.xmlWAR foi modificado para usar as novas vinculações JNDI- O elemento
core:initfoi substituído como a seguir:<!-- <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 - Os elementos do componente para as vinculações JNDI "EjbSynchronizations" e "TimerServiceDispatcher" foram adicionados:
<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