Se eu quiser fazer deploy da aplicação no servidor de aplicação Wildfly 9, quais alterações seriam necessárias no projeto, por favor ?
Se eu quiser fazer deploy da aplicação no servidor de aplicação Wildfly 9, quais alterações seriam necessárias no projeto, por favor ?
Acrescento que eu sei como configurar o banco de dados MySQL no Wildfly 9.
Seria necessário alterar a configuração da classe JPAConfiguration ?
Seria necessário outras alterações no projeto ?
Oi Cassius,
Aí depende. Você pode não alterar nada e deixar que o Spring gerencie tudo para você, mantendo a mesma configuração de DataSource usada durante o projeto.
Caso você queira usar o DataSource configurado por dentro do Wildlfy, aí você vai deixar a classe JPAConfiguration bem curta. Você vai precisar buscar o EntityManager através da JNDI exposta pelo servidor, o mesmo vale para o PlatformTransactionManager.
Exemplo:
public class JPAConfiguration {
@Bean
public EntityManagerFactory emf() throws NamingException {
Context ctx = new InitialContext();
EntityManagerFactory lookup = (EntityManagerFactory) ctx
.lookup("java:comp/env/persistence/casadocodigo-emf");
return lookup;
}
@Bean
public PlatformTransactionManager transactionManager(){
return new JtaTransactionManager();
}
}
Para o lookup do EntityManager funcionar, você vai precisar alterar o seu web.xml.
<persistence-unit-ref>
<persistence-unit-ref-name>persistence/casadocodigo-emf</persistence-unit-ref-name>
<persistence-unit-name>casadocodigo-persistence-unit</persistence-unit-name>
</persistence-unit-ref>
O unit-ref-name é a chave da JNDI que você vai export o EntityManagerFactory na sua aplicação. A unit-name é o do persistence-unit configurado no seu persistence.xml.
Você pode achar sobre transações dentro do Spring na documentação deles.
Obrigado.