EJB Bean managed transaction e Container managed transaction

3 respostas
hitcurst

Olá pessoal,

peguei um projeto antigo para dar suporte, ele funciona inteiramente sobre EJB…
no geral todos são Container managed transaction… então se eu estou executando um
processo de atualizar varios registros no banco, so vou ver alteração no sistema quando
todo o processo acabar, pois o container irá comitar tudo no final.

Resolvi mudar esse EJB para Bean managed e gerenciar o commit manualmente.
O problema é que dentro dele chamo outros EJB’s que são Container Managed…
existe algum problema?

Me apareceu uma situação que da erro de conexão, e não sei o que pode ser…
dando uns print antes de comitar, percebi que em um certo momento o status
da transaçao era 4 (STATUS_ROLLEDBACK) sendo que eu não efetuei rollback
em nenhum momento. Será que pode ter sido o EJB que é Container managed?

3 Respostas

F

Teria algum motivo especifico para voce mudar o seu ejb para Bean managed ?

felipeguerra

faz algum sentido tirar o controle da transação do App Server?

hitcurst

Como eu comentei no primeiro post, eu tenho um processo meio demorado, que atualiza
varios registros no banco, só que eu não consegui ver essas alterações em tempo real no sistema
porque o container só comita tudo ao final quando o ejb encerra.

Eu meio que resolvi de outra maneira, fora do meu EJB eu seleciono todos
os registros para atualizar e passo 1 a 1 para o EJB processar,
assim para cada arquivo ele já comita no final do processamento,
ao invés de consultar e processar tudo dentro do EJB…
(Voltei o EJB para Container managed).

Criado 1 de julho de 2012
Ultima resposta 2 de jul. de 2012
Respostas 3
Participantes 3