Jpa multithread

1 resposta
gf1985

Boa tarde pessoal.
Estou desenvolvendo um sistema que importa um grande volume de informações para o banco.
Por questões de performance decidi usar multithread.
Porém, tem alguns pontos que não estão claros pra mim:

Em cada operação no banco, crio um novo EntityManager usando EntityManagerFactory com singleton.
Meu sistema apenas cadastra objetos no banco, sem deleção ou alteração de dados.
O método básico de inserção que estou usando é o seguinte:

public void cadastrarObjeto(Objeto o) {

        if (em.find(Objeto.class, o.getId()) == null) {
            em.getTransaction().begin();
            em.persist(o);
            em.getTransaction().commit();
            em.close();
        } else {
            return;
        }
    }

Meu sistema roda em um websphere 6.1 com DB2 6.5
Não sei se este código poderia rodar em um ambiente multithread sem problema ou se deveria ser sincronizado e se é realmente necessário usar transaction ou fechar a conexão. Outro ponto: Neste caso eu estaria usando a connection pool do servidor?

1 Resposta

gf1985

Continuo pesquisando sobre o assunto.
Se alguém se interessar posso postar o que tenho encontrado aqui…
Qualquer dica sobre fontes tbm é bem vinda…

Criado 13 de abril de 2010
Ultima resposta 13 de abr. de 2010
Respostas 1
Participantes 1