Pessoal tô com um problema aqui que estou na duvida como (e se é possível) resolver.
No meu sistema (Hibernate, EJB, Struts) em determinado ponto eu faço uma requisição para uma action que basicamente faz duas coisas:
Salva os dados da tela
Executa uma operação qualquer.
Em ambas as ações, é feito lookup de 2 EJBs que fazem as ações acima. O problema é que quando dá erro no segundo EJB, servidor marca a transação para dar rollback e finaliza a requisição. Perfeito, porém o sistema não está dando rollback dos dados salvos pelo primeiro EJB.
quais são as chances de você transformar estes 2 ejbs em um ejb, dependendo de como estiverem as coisas ai um statefull sb?
FernandoFranzini
JackDanihell:
Pessoal tô com um problema aqui que estou na duvida como (e se é possível) resolver.
No meu sistema (Hibernate, EJB, Struts) em determinado ponto eu faço uma requisição para uma action que basicamente faz duas coisas:
Salva os dados da tela
Executa uma operação qualquer.
Em ambas as ações, é feito lookup de 2 EJBs que fazem as ações acima. O problema é que quando dá erro no segundo EJB, servidor marca a transação para dar rollback e finaliza a requisição. Perfeito, porém o sistema não está dando rollback dos dados salvos pelo primeiro EJB.
como posso fazer isso?
Obrigado!
O segundo EJB não esta entrando na transação do primeiro…veja a declaração de transação no DD.
J
JackDanihell
Infelizmente não será possível transformar tudo em um EJB só, porque ambos são utilizados em diversos outros pontos do sistema.
Esqueci de dizer que ambos os EJBs que faço lookup são Sessions beans e que estou utilizando EJB 2.1 (por isso estou camelando um pouco, pois estava trabalhando com EJB 3 antes)
Será que se eu criar um terceiro EJB e fizer o lookup do mesmo na action, e dentro dele eu fizer a requisição dos outros dois serviços, o rollback será executado para os 2 EJBs?