Estou com a mesma exceção no JBoss, porém sem usar Hibernate. Você achou o problema / solução?
efsimon
Eu encontrei o problema… eu estava mantendo a sessao do hibernate para todos os usuários… e quando ocorria um commit da transação a conexão dentro da sessao do hibernate era removida… o que ocasionada o problema nas demais chamadas…
Com certeza vc pode estar tentando acessar uma conexao que nao exista mais para uso dentro do pool…
um grande abraço
eduardo
danieldestro
Eu tava fazendo um controle transacional e acabei desistindo. O engraçado é que ontem não dava este problema e só passou a dar hoje.
Eu tirei o controle de transação e funcionou normal.
efsimon
Com certeza o controle transacional deve estar matando a sua conexão no momento do commit. Acho melhor dar uma olhada no controle transacional seu… pode ser que tenha algo que seja a raiz do problema.
No meu caso demorei para achar o problema, pois ele é bem sutil.
um grande abraco
Eduardo
danieldestro
Uhauahuahuahua
Dois problemas!
Eu estava fechando a conexão nas operações de insert, delete, update e select. Claro que ia dar pau de conexão fechada!
O EJB que gerencia a transação, portanto eu não consigo dar um commit na minha conexão.
Que foda! Eu to apanhando muito.
efsimon
É complicado… quando nos deparamos com esses detalhes… isso é fod… hehehe
um grande abraço
eduardo
danieldestro
Depois de perder 6 horas nesse problema, eu resolví.
Eu definí o método processar() do meu EJB Session como uma operação que requer transação. Dentro desse método eu chamo outro método que cria o registro no BD e que requer uma nova transação. E pronto! Resolvido.
Exemplo:
publicclassMeuSessionBeanimplementsSessionBean{/** * @ejb.interface-method view-type="remote" * @ejb.transaction type = "Required" */publicvoidprocessar(Mapparametros)throwsGPAException{registrarNovoProcessamento();// aqui faz outras coisas}/** * @ejb.transaction type = "RequiresNew" */publicProcessoAssincronoregistrarNovoProcessamento(){}}