Hibernate + JPA + JTA. Duvidas

1 resposta
H

Estou desenvolvendo uma aplicação, um sistema relativamente simples.
O problema é que inicialmente eu configurei ele para usar Hibernate com JPA para rodar localmente. Tudo funcionando, mas agora vou ter que migrar para um servidor de aplicação porque vou ter que usar JTA e Datasource, estou usando o glassfish.

Eu utilizava uma classe HibernateUtil, mas numa aplicação desktop.

public class HibernateUtil {
    
    private EntityManagerFactory emf;
    
    public HibernateUtil(){
        emf = Persistence.createEntityManagerFactory("lojaHHPU");      
    }
    
    public HibernateUtil(String unPersistencia){
        emf = Persistence.createEntityManagerFactory(unPersistencia);
        
        
    }
    
    public EntityManager getEntityManager(){
        EntityManager em = emf.createEntityManager();
        return em;
    }
    
}

Aqui eu referencio aquela unidade de persistencia que está no persistence.xml, mas não utilizava um datasource, e sim uma conexão normal.
Problema que agora preciso configurar um datasource que suporte JTA. E na vdd agora serão 2 bancos que vou ter usar, 2 unidades de persistencia.
Eu vou ter que fazer controle de transações com JTA já que vou ter que garantir a consistência dos dados no 2 bancos simultaneamente.

Eu já criei datasource e configurei no Glassfish. Sò que já tenho uma interface desktop e uma aplicação desktop, preciso uma referencia a esse servidor de aplicação. Para poder utilizar a classe para inserir os dados lá.

Comecei a fazer isso a pouco tempo:
Pelo que eu to vendo preciso de um InitialContext para poder resolver o problema e continuar usando minha aplicação rodando agora no servidor. Se alguem tiver um exemplo de como eu consigo fazer isso… me ajudaria muito

VLw

1 Resposta

Alexandre_Saudate

Quando você se refere a InitialContext, você está dizendo centralizar tudo num Application Server utilizando EJB, certo? Se for, a idéia do InitialContext está certa.
Você centralizaria tudo nos EJBs (crie 2, um pra cada unidade de persistência).

Crie um ejb-jar.jar, coloque no Application Server e modifique sua aplicação desktop para, nos locais onde ela realizar as chamadas ao banco de dados, chamar os métodos de banco de dados, que você terá colocado nos EJB´s.

Qualquer dúvida, avise.

Criado 21 de junho de 2008
Ultima resposta 21 de jun. de 2008
Respostas 1
Participantes 2