Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Deploy no servidor de aplicação Wildfly 9 ?

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 ?

3 respostas

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 ?

solução!

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.